diff --git a/.gitignore b/.gitignore index a40199d342c5986c89ce93910b37b8e41e9d7221..3667399cac58417a91fe9ff25bff5152a3aea32e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /red.xml build/ dist/ +/libspecs/ diff --git a/LICENSE b/LICENSE index c7a6ba06afc8440ff3742ee50286ada519c15dec..b10b838c766e4e4198eb866e2b9d3eecc98423e0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2019 ETSI +Copyright 2019-2020 ETSI Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index e336da33e32632a7dad6bb4c6d8851ed70bb9a18..f844f21d7df7918f1175f21fffc67d8957385330 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # NFV API Conformance Test Specification (NFV-TST 010) This repository hosts the NFV API Conformance test specification for -the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf), [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf), [SOL005](http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf), in their versions v2.4.1. +the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_NFV-SOL002v020601p.pdf), [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.06.01_60/gs_NFV-SOL003v020601p.pdf), [SOL005](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf), in their versions v2.6.1. + +More information and download is available at [DGS/NFV-TST010ed261](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=58428). -More information and download is available at [DGS/NFV-TST010](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=54031). ## Overview diff --git a/SOL002/README.md b/SOL002/README.md index 762121acb900050f04d590df7dd91218b0e6c863..365fbf0559bca5f80e215ec2bf615b3a84b0b017 100644 --- a/SOL002/README.md +++ b/SOL002/README.md @@ -2,7 +2,7 @@ This folder includes the NFV API conformance test descriptions for NFV SOL002 APIs. -The reference spec version is v2.4.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf +The reference spec version is v2.6.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.06.01_60/gs_NFV-SOL002v020601p.pdf ## License diff --git a/SOL002/VNFConfiguration-API/ApiVersion.robot b/SOL002/VNFConfiguration-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..68b95d747190c12e49349ba997af04cb79f5eba0 --- /dev/null +++ b/SOL002/VNFConfiguration-API/ApiVersion.robot @@ -0,0 +1,211 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.1.2.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.1.2.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.1.2.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.1.2.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.1.2.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.1.2.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.1.2.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.1.2.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.1.2.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.1.2.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL002/VNFConfiguration-API/Configuration.robot b/SOL002/VNFConfiguration-API/Configuration.robot index 56265e95d60a1124ea31105a53ccf79d2589384c..813e17ace0dc929957ea7a21eaf620fe6a7c80a7 100644 --- a/SOL002/VNFConfiguration-API/Configuration.robot +++ b/SOL002/VNFConfiguration-API/Configuration.robot @@ -12,7 +12,7 @@ Set new VNF Configuration ... Test title: Set a new VNF Configuration ... Test objective: The objective is to test the creation of a new VNF configuration and perform a JSON schema validation of the returned configuration data structure ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The configuration is successfully set in the VNF and it matches the issued configuration @@ -28,7 +28,7 @@ Get information about a VNF configuration ... Test title: Get information about a VNF configuration ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured. - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ Get information about a VNF configuration with HTTP Etag ... Test title: Get information about a VNF configuration with HTTP Etag ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration, check the generation by the VNF of an HTTP Etag opaque identifier, and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: none @@ -57,7 +57,7 @@ Set new VNF Configuration - HTTP Etag precondition unsuccessful ... Test title: Set a new VNF Configuration - HTTP Etag precondition unsuccessful ... Test objective: The objective is to test the unsuccess in setting a duplication of VNF configuration identified by an already used HTTP Etag identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured (Test ID 6.3.1.1.1) with a given HTTP Etag identifier. - ... Reference: clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The VNF configuration is not modified by the unsuccessful operation and it matches the configuration issued in Test ID 6.3.1.1.1 @@ -71,7 +71,7 @@ POST VNF Configuration - Method not implemented ... Test title: POST VNF Configuration - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF configuration ... Pre-conditions: A VNF instance is instantiated. The VNF instance is alrseady configured - ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ PUT VNF Configuration - Method not implemented ... Test title: PUT VNF Configuration - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing VNF configuration ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured - ... Reference: clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ DELETE VNF Configuration - Method not implemented ... Test title: Delete VNF Configuration - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF configuration ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured - ... Reference: clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: The VNF configuration is not deleted by the unsuccessful operation @@ -126,8 +126,7 @@ Send VNF configuration Check HTTP Response Status Code Is [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal As Strings ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Header Contains diff --git a/SOL002/VNFConfiguration-API/SOL002-VNFConfiguration-API.json b/SOL002/VNFConfiguration-API/SOL002-VNFConfiguration-API.json deleted file mode 100644 index c324fdd7bbe6e796a86e3f4be114cb47045fefb7..0000000000000000000000000000000000000000 --- a/SOL002/VNFConfiguration-API/SOL002-VNFConfiguration-API.json +++ /dev/null @@ -1,1398 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL002 - VNF Configuration interface", - "description": "VNF Configuration interface of ETSI NFV SOL002\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=---\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 002 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf" - }, - "basePath": "/vnfconfig/v1", - "schemes": [ - "http", - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/configuration": { - "get": { - "summary": "Read VNF/VNFC configuration from VNF.", - "description": "The client can use this method to read configuration information about a VNF instance and/or its VNFC instances.\n", - "responses": { - "200": { - "description": "OK\nConfiguration information about a VNF instance was read successfully. The response body shall contain a representation of the configuration resource.\n", - "schema": { - "$ref": "#/definitions/VnfConfiguration" - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "422": { - "description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "patch": { - "summary": "Modify VNF/VNFC configuration.", - "description": "This method sets or modifies a configuration resource.", - "parameters": [ - { - "name": "configModifications", - "description": "The parameter for the configuration modification.", - "required": true, - "in": "body", - "schema": { - "$ref": "#/definitions/VnfConfigModifications" - } - } - ], - "responses": { - "200": { - "description": "OK\nThe request was accepted and completed. The response body shall contain the parameters of the configuration modification that was applied to the configuration resource.\n", - "schema": { - "$ref": "#/definitions/VnfConfigModifications" - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "422": { - "description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "definitions": { - "VnfConfiguration": { - "description": "This type represents configuration parameters of a VNF instance and its VNFC instances.\n", - "type": "object", - "required": [ - "vnfConfigurationData" - ], - "properties": { - "vnfConfigurationData": { - "description": "This type represents configuration parameters of a VNF instance.\n", - "type": "object", - "properties": { - "extCpConfig": { - "description": "This type represents configuration parameters of a CP instance.\n", - "type": "object", - "required": [ - "cpId", - "cpdId", - "addresses" - ], - "properties": { - "cpId": { - "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" - }, - "addresses": { - "description": "Network address and port assigned to the CP.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a CP instance address. * NOTE 1: Either \"address\" or \"useDynamicAddress\" shall be present.\n * NOTE 2: At least one of \"macAddress\" and \"ipAddress\" shall be present.\n", - "type": "object", - "properties": { - "address": { - "description": "Network address that has been configured on the CP. See NOTE 1.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - } - } - }, - "useDynamicAddress": { - "description": "Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1.\n", - "type": "boolean" - }, - "port": { - "description": "The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).\n", - "type": "integer" - } - } - } - } - } - }, - "dhcpServer": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - }, - "vnfSpecificData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "vnfcConfigurationData": { - "description": "Configuration parameters of the VNFC instances.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a VNFC instance.\n", - "type": "object", - "required": [ - "vnfcInstanceId" - ], - "properties": { - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "intCpConfig": { - "description": "Configuration parameters for the internal CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a CP instance.\n", - "type": "object", - "required": [ - "cpId", - "cpdId", - "addresses" - ], - "properties": { - "cpId": { - "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" - }, - "addresses": { - "description": "Network address and port assigned to the CP.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a CP instance address. * NOTE 1: Either \"address\" or \"useDynamicAddress\" shall be present.\n * NOTE 2: At least one of \"macAddress\" and \"ipAddress\" shall be present.\n", - "type": "object", - "properties": { - "address": { - "description": "Network address that has been configured on the CP. See NOTE 1.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - } - } - }, - "useDynamicAddress": { - "description": "Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1.\n", - "type": "boolean" - }, - "port": { - "description": "The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).\n", - "type": "integer" - } - } - } - } - } - } - }, - "dhcpServer": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - }, - "vnfcSpecificData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "VnfConfigModifications": { - "description": "This type represents request parameters for the \"Set Configuration\" operation. * NOTE 1: At least one of \"vnfConfigurationData\" and \"vnfcConfigurationData\"\n shall be present.\n * NOTE 2: The VnfcConfiguration data type can only be used to modify the configuration\n of existing VNFC instances.\n", - "type": "object", - "properties": { - "vnfConfigurationData": { - "description": "This type represents configuration parameters of a VNF instance.\n", - "type": "object", - "properties": { - "extCpConfig": { - "description": "This type represents configuration parameters of a CP instance.\n", - "type": "object", - "required": [ - "cpId", - "cpdId", - "addresses" - ], - "properties": { - "cpId": { - "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" - }, - "addresses": { - "description": "Network address and port assigned to the CP.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a CP instance address. * NOTE 1: Either \"address\" or \"useDynamicAddress\" shall be present.\n * NOTE 2: At least one of \"macAddress\" and \"ipAddress\" shall be present.\n", - "type": "object", - "properties": { - "address": { - "description": "Network address that has been configured on the CP. See NOTE 1.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - } - } - }, - "useDynamicAddress": { - "description": "Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1.\n", - "type": "boolean" - }, - "port": { - "description": "The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).\n", - "type": "integer" - } - } - } - } - } - }, - "dhcpServer": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - }, - "vnfSpecificData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "vnfcConfigurationData": { - "description": "Modifications to configuration data for certain VNFC instances. See NOTE 1 and NOTE 2. If present, the modifications of the \"vnfcConfigurationData\" attribute shall follow these provisions: Modifying an attribute that is an array of objects of type \"VnfcConfigurationData\".\n Assumptions:\n 1) \"oldList\" is the \"VnfcConfigurationData\" array to be modified and \"newList\"\n is the \"VnfcConfigurationData\" array that contains the changes.\n 2) \"oldEntry\" is an entry in \"oldList\" and \"newEntry\" is an entry in \"newList\".\n 3) A \"newEntry\" has a \"corresponding entry\" if there exists an \"oldEntry\" that \n has the same content of the \"vnfcInstanceId\" attribute as the \"newEntry\"; \n a \"newEntry\" has no corresponding entry if no such \"oldEntry\" exists.\n 4) In any array of \"VnfcConfigurationData\" structures, the content of \"vnfcInstanceId\"\n is unique (i.e. there shall be no two entries with the same content of \"vnfcInstanceId\").\n Provisions:\n 1) For each \"newEntry\" in \"newList\" that has no corresponding entry in \"oldList\", \n the \"oldList\" array shall be modified by adding that \"newEntry\".\n\n 2) For each \"newEntry\" in \"newList\" that has a corresponding \"oldEntry\" in \"oldList\",\n the value of \"oldEntry\" shall be updated with the value of \"newEntry\" according to\n the rules of JSON Merge PATCH (see IETF RFC 7396 ).\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a VNFC instance.\n", - "type": "object", - "required": [ - "vnfcInstanceId" - ], - "properties": { - "vnfcInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "intCpConfig": { - "description": "Configuration parameters for the internal CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a CP instance.\n", - "type": "object", - "required": [ - "cpId", - "cpdId", - "addresses" - ], - "properties": { - "cpId": { - "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" - }, - "addresses": { - "description": "Network address and port assigned to the CP.\n", - "type": "array", - "items": { - "description": "This type represents configuration parameters of a CP instance address. * NOTE 1: Either \"address\" or \"useDynamicAddress\" shall be present.\n * NOTE 2: At least one of \"macAddress\" and \"ipAddress\" shall be present.\n", - "type": "object", - "properties": { - "address": { - "description": "Network address that has been configured on the CP. See NOTE 1.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - } - } - }, - "useDynamicAddress": { - "description": "Set to true if an address shall be assigned dynamically. Otherwise set to false. The default value shall be false. See NOTE 1.\n", - "type": "boolean" - }, - "port": { - "description": "The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).\n", - "type": "integer" - } - } - } - } - } - } - }, - "dhcpServer": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - }, - "vnfcSpecificData": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL002/VNFConfiguration-API/SOL002-VNFConfiguration-API.yaml b/SOL002/VNFConfiguration-API/SOL002-VNFConfiguration-API.yaml deleted file mode 100644 index a1007e27277ce295fc40146e65687758659d31b2..0000000000000000000000000000000000000000 --- a/SOL002/VNFConfiguration-API/SOL002-VNFConfiguration-API.yaml +++ /dev/null @@ -1,2202 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL002 - VNF Configuration interface - description: > - VNF Configuration interface of ETSI NFV SOL002 - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /vnfconfig/v1 -schemes: - - http - - https -consumes: - - application/json -produces: - - application/json -paths: - /configuration: - get: - summary: Read VNF/VNFC configuration from VNF. - description: > - The client can use this method to read configuration information about a - VNF instance and/or its VNFC instances. - responses: - '200': - description: > - OK - - Configuration information about a VNF instance was read - successfully. The response body shall contain a representation of - the configuration resource. - schema: - $ref: '#/definitions/VnfConfiguration' - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '422': - description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. NOTE 2: - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - patch: - summary: Modify VNF/VNFC configuration. - description: This method sets or modifies a configuration resource. - parameters: - - name: configModifications - description: The parameter for the configuration modification. - required: true - in: body - schema: - $ref: '#/definitions/VnfConfigModifications' - responses: - '200': - description: > - OK - - The request was accepted and completed. The response body shall - contain the parameters of the configuration modification that was - applied to the configuration resource. - schema: - $ref: '#/definitions/VnfConfigModifications' - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '422': - description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. NOTE 2: - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI -definitions: - VnfConfiguration: - description: > - This type represents configuration parameters of a VNF instance and its - VNFC instances. - type: object - required: - - vnfConfigurationData - properties: - vnfConfigurationData: - description: | - This type represents configuration parameters of a VNF instance. - type: object - properties: - extCpConfig: - description: | - This type represents configuration parameters of a CP instance. - type: object - required: - - cpId - - cpdId - - addresses - properties: - cpId: - description: > - An identifier that is unique for the respective type within a - VNF instance, but may not be globally unique. - type: string - cpdId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - addresses: - description: | - Network address and port assigned to the CP. - type: array - items: - description: > - This type represents configuration parameters of a CP - instance address. - * NOTE 1: Either "address" or "useDynamicAddress" shall be present. - * NOTE 2: At least one of "macAddress" and "ipAddress" shall be present. - type: object - properties: - address: - description: > - Network address that has been configured on the CP. See - NOTE 1. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string that consists - of groups of two hexadecimal digits, separated by - hyphens or colons. - type: string - format: MAC - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - useDynamicAddress: - description: > - Set to true if an address shall be assigned dynamically. - Otherwise set to false. The default value shall be - false. See NOTE 1. - type: boolean - port: - description: > - The port assigned to the CP instance (e.g. IP port - number, Ethernet port number, etc.). - type: integer - dhcpServer: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - vnfSpecificData: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of key- value - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - vnfcConfigurationData: - description: | - Configuration parameters of the VNFC instances. - type: array - items: - description: | - This type represents configuration parameters of a VNFC instance. - type: object - required: - - vnfcInstanceId - properties: - vnfcInstanceId: - description: > - An identifier that is unique for the respective type within a - VNF instance, but may not be globally unique. - type: string - intCpConfig: - description: > - Configuration parameters for the internal CPs of the VNFC - instance. - type: array - items: - description: > - This type represents configuration parameters of a CP - instance. - type: object - required: - - cpId - - cpdId - - addresses - properties: - cpId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally unique. - type: string - cpdId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - addresses: - description: | - Network address and port assigned to the CP. - type: array - items: - description: > - This type represents configuration parameters of a CP - instance address. - * NOTE 1: Either "address" or "useDynamicAddress" shall be present. - * NOTE 2: At least one of "macAddress" and "ipAddress" shall be present. - type: object - properties: - address: - description: > - Network address that has been configured on the CP. - See NOTE 1. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal digits, - separated by hyphens or colons. - type: string - format: MAC - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - useDynamicAddress: - description: > - Set to true if an address shall be assigned - dynamically. Otherwise set to false. The default - value shall be false. See NOTE 1. - type: boolean - port: - description: > - The port assigned to the CP instance (e.g. IP port - number, Ethernet port number, etc.). - type: integer - dhcpServer: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - vnfcSpecificData: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of key- - value pairs is represented as an object. It shall comply with - the provisions defined in clause 4 of IETF RFC 7159. - type: object - VnfConfigModifications: - description: > - This type represents request parameters for the "Set Configuration" - operation. - * NOTE 1: At least one of "vnfConfigurationData" and "vnfcConfigurationData" - shall be present. - * NOTE 2: The VnfcConfiguration data type can only be used to modify the configuration - of existing VNFC instances. - type: object - properties: - vnfConfigurationData: - description: | - This type represents configuration parameters of a VNF instance. - type: object - properties: - extCpConfig: - description: | - This type represents configuration parameters of a CP instance. - type: object - required: - - cpId - - cpdId - - addresses - properties: - cpId: - description: > - An identifier that is unique for the respective type within a - VNF instance, but may not be globally unique. - type: string - cpdId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - addresses: - description: | - Network address and port assigned to the CP. - type: array - items: - description: > - This type represents configuration parameters of a CP - instance address. - * NOTE 1: Either "address" or "useDynamicAddress" shall be present. - * NOTE 2: At least one of "macAddress" and "ipAddress" shall be present. - type: object - properties: - address: - description: > - Network address that has been configured on the CP. See - NOTE 1. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string that consists - of groups of two hexadecimal digits, separated by - hyphens or colons. - type: string - format: MAC - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case of - an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 address, - string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - useDynamicAddress: - description: > - Set to true if an address shall be assigned dynamically. - Otherwise set to false. The default value shall be - false. See NOTE 1. - type: boolean - port: - description: > - The port assigned to the CP instance (e.g. IP port - number, Ethernet port number, etc.). - type: integer - dhcpServer: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - vnfSpecificData: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of key- value - pairs is represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - vnfcConfigurationData: - description: > - Modifications to configuration data for certain VNFC instances. See - NOTE 1 and NOTE 2. If present, the modifications of the - "vnfcConfigurationData" attribute shall follow these provisions: - Modifying an attribute that is an array of objects of type "VnfcConfigurationData". - Assumptions: - 1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList" - is the "VnfcConfigurationData" array that contains the changes. - 2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList". - 3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that - has the same content of the "vnfcInstanceId" attribute as the "newEntry"; - a "newEntry" has no corresponding entry if no such "oldEntry" exists. - 4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId" - is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId"). - Provisions: - 1) For each "newEntry" in "newList" that has no corresponding entry in "oldList", - the "oldList" array shall be modified by adding that "newEntry". - - 2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList", - the value of "oldEntry" shall be updated with the value of "newEntry" according to - the rules of JSON Merge PATCH (see IETF RFC 7396 ). - type: array - items: - description: | - This type represents configuration parameters of a VNFC instance. - type: object - required: - - vnfcInstanceId - properties: - vnfcInstanceId: - description: > - An identifier that is unique for the respective type within a - VNF instance, but may not be globally unique. - type: string - intCpConfig: - description: > - Configuration parameters for the internal CPs of the VNFC - instance. - type: array - items: - description: > - This type represents configuration parameters of a CP - instance. - type: object - required: - - cpId - - cpdId - - addresses - properties: - cpId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally unique. - type: string - cpdId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - addresses: - description: | - Network address and port assigned to the CP. - type: array - items: - description: > - This type represents configuration parameters of a CP - instance address. - * NOTE 1: Either "address" or "useDynamicAddress" shall be present. - * NOTE 2: At least one of "macAddress" and "ipAddress" shall be present. - type: object - properties: - address: - description: > - Network address that has been configured on the CP. - See NOTE 1. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal digits, - separated by hyphens or colons. - type: string - format: MAC - ipAddress: - description: > - An IPV4 or IPV6 address. Representation: In case - of an IPV4 address, string that consists of four - decimal integers separated by dots, each integer - ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero - to four hexadecimal digits, separated by colons. - type: string - format: IP - useDynamicAddress: - description: > - Set to true if an address shall be assigned - dynamically. Otherwise set to false. The default - value shall be false. See NOTE 1. - type: boolean - port: - description: > - The port assigned to the CP instance (e.g. IP port - number, Ethernet port number, etc.). - type: integer - dhcpServer: - description: > - An IPV4 or IPV6 address. Representation: In case of an IPV4 - address, string that consists of four decimal integers separated - by dots, each integer ranging from 0 to 255. In case of an IPV6 - address, string that consists of groups of zero to four - hexadecimal digits, separated by colons. - type: string - format: IP - vnfcSpecificData: - description: > - This type represents a list of key-value pairs. The order of the - pairs in the list is not significant. In JSON, a set of key- - value pairs is represented as an object. It shall comply with - the provisions defined in clause 4 of IETF RFC 7159. - type: object - diff --git a/SOL002/VNFConfiguration-API/jsons/vnfConfigModifications.json b/SOL002/VNFConfiguration-API/jsons/vnfConfigModifications.json index 2863575b533aee7a2328e8a037bc7b0c572001d9..5a14e63b86bdbc474fa969b54373f23285ed7e16 100644 --- a/SOL002/VNFConfiguration-API/jsons/vnfConfigModifications.json +++ b/SOL002/VNFConfiguration-API/jsons/vnfConfigModifications.json @@ -39,5 +39,6 @@ "dhcpServer": "string", "vnfcSpecificData": {} } - ] + ], + "vnfcConfigurationDataDeleteIds": [] } \ No newline at end of file diff --git a/SOL002/VNFConfiguration-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFConfiguration-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL002/VNFConfiguration-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index d032b05fb69d2f3321f98911133a243f17176842..c7ef62b0fd07b36ea5bc9195c42540e79cb51fca 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -1,10 +1,11 @@ *** Settings *** # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem +Library Collections *** Test Cases *** POST Alarms - Method not implemented @@ -12,7 +13,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -24,7 +25,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -37,7 +38,7 @@ GET information about multiple alarms with attribute-based filter ... Test title: GET information about multiple alarms with attribute-based filter ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -50,7 +51,7 @@ GET information about multiple alarms with invalid attribute-based filter ... Test title: GET information about multiple alarms with invalid attribute-based filter ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -63,7 +64,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -76,7 +77,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -90,7 +91,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -103,7 +104,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -116,7 +117,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -128,7 +129,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -140,12 +141,122 @@ DELETE Alarms - Method not implemented ... Test title: DELETE Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.6 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.2.3.6 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: the alarm is not deleted DELETE Alarms Task Check HTTP Response Status Code Is 405 + +GET information about multiple alarms to get Paged Response + [Documentation] Test ID: 6.3.4.1.12 + ... Test title: GET information about multiple alarms to get Paged Response + ... Test objective: The objective is to retrieve information about the alarms to get paged response + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET information about multiple alarms for Bad Request Response too big + [Documentation] Test ID: 6.3.4.1.13 + ... Test title: GET information about multiple alarms for Bad Request Response too big + ... Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET information about alarms with attribute-based filter "id" + [Documentation] Test ID: 6.3.4.1.14 + ... Test title: GET information about alarms with attribute-based filter "id" + ... Test objective: The objective is to retrieve information about the alarm list with alarm filter "id" + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarm + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id" + +GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" + [Documentation] Test ID: 6.3.4.1.15 + ... Test title: GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "vnfcInstanceIds" + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "vnfcInstanceIds" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "vnfcInstanceIds" + +GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" + [Documentation] Test ID: 6.3.4.1.16 + ... Test title: GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "rootCauseFaultyResource.faultyResourceType" + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "rootCauseFaultyResource_faultyResourceType" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyResource_faultyResourceType" + +GET information about multiple alarms with attribute-based filter "eventType" + [Documentation] Test ID: 6.3.4.1.17 + ... Test title: GET information about multiple alarms with attribute-based filter "eventType" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType" + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "eventType" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" + +GET information about multiple alarms with attribute-based filter "perceivedSeverity" + [Documentation] Test ID: 6.3.4.1.18 + ... Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity" + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "perceivedSeverity" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" + +GET information about multiple alarms with attribute-based filter "probableCause" + [Documentation] Test ID: 6.3.4.1.19 + ... Test title: GET information about multiple alarms with attribute-based filter "probableCause" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause" + ... Pre-conditions: + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "probableCause" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" *** Keywords *** POST Alarms Task @@ -154,28 +265,28 @@ POST Alarms Task Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Alarms Task log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Alarms Task log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Alarms Task log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Task Log Query VNF The GET method queries information about multiple alarms. Set Headers {"Accept":"${ACCEPT}"} @@ -183,7 +294,7 @@ GET Alarms Task Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Task with filter Log Query VNF The GET method queries information about multiple alarms with filters. Set Headers {"Accept":"${ACCEPT}"} @@ -191,7 +302,7 @@ GET Alarms Task with filter Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${alarm_filter}=${managedObjectId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Task with invalid filter Log Query VNF The GET method queries information about multiple alarms with filters. Set Headers {"Accept":"${ACCEPT}"} @@ -199,7 +310,7 @@ GET Alarms Task with invalid filter Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${invalid_alarm_filter}=${managedObjectId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Task with all_fields attribute selector Log Query VNF The GET method queries information about multiple alarms, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -231,7 +342,7 @@ GET Alarms Task with exclude_fields attribute selector Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Header Contains @@ -246,3 +357,89 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +GET Alarms Task with filter "id" + Log Query VNF The GET method queries information about multiple alarms with filters "id". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?id=${alarmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${alarmId} + +GET Alarms Task with filter "vnfcInstanceIds" + Log Query VNF The GET method queries information about multiple alarms with filters "vnfcInstanceIds". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?vnfcInstanceIds=${vnfcInstanceIds} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "vnfcInstanceIds" + :FOR ${item} IN @{response['body']} + Lists Should Be Equal ${item['vnfcInstanceIds']} ${vnfcInstanceIds} + END + +GET Alarms Task with filter "rootCauseFaultyResource_faultyResourceType" + Log Query VNF The GET method queries information about multiple alarms with filters "rootCauseFaultyResource.faultyResourceType". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyResource.faultyResourceType=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyResource_faultyResourceType" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['rootCauseFaultyResource']['faultyResourceType']} ${faultyResourceType} + END + +GET Alarms Task with filter "eventType" + Log Query VNF The GET method queries information about multiple alarms with filters "eventType". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?eventType=${eventType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['eventType']} ${eventType} + END + +GET Alarms Task with filter "perceivedSeverity" + Log Query VNF The GET method queries information about multiple alarms with filters "perceivedSeverity". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?perceivedSeverity=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} + END + +GET Alarms Task with filter "probableCause" + Log Query VNF The GET method queries information about multiple alarms with filters "probableCause". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?probableCause=${probableCause} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['probableCause']} ${probableCause} + END \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/ApiVersion.robot b/SOL002/VNFFaultManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..f8e2fea9dce4a74feeaf83f98d6370a13e9d23be --- /dev/null +++ b/SOL002/VNFFaultManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.4.7.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.4.7.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.4.7.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.4.7.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.4.7.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.4.7.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.4.7.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.4.7.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.4.7.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.4.7.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index 6ec24fe08ccbb847ac0e494364b6aaf129386a79..89822d2b591bcc9ef4f551a219ce5a027a354d34 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -1,6 +1,6 @@ *** Settings *** Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONSchemaLibrary Suite Setup Check resource existence @@ -10,7 +10,7 @@ Escalate the perceived severity ... Test title: Escalate the perceived severity ... Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource. ... Pre-conditions: The resource representing the individual alarm has been created - ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -20,9 +20,9 @@ Escalate the perceived severity GET Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.2 ... Test title: GET Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is to test that the GET HTTP method not implemented for escalate perceived severity ... Pre-conditions: - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -32,9 +32,9 @@ GET Escalate the perceived severity - Method not implemented PUT Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.3 ... Test title: PUT Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is to test that the PUT HTTP method not implemented for escalate perceived severity ... Pre-conditions: - ... Reference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -44,9 +44,9 @@ PUT Escalate the perceived severity - Method not implemented PATCH Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.4 ... Test title: PATCH Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is to test that the PATCH HTTP method not implemented for escalate perceived severity ... Pre-conditions: - ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -57,9 +57,9 @@ PATCH Escalate the perceived severity - Method not implemented DELETE Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.5 ... Test title: DELETE Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is to test that the DELETE HTTP method not implemented for escalate perceived severity ... Pre-conditions: - ... Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -80,35 +80,35 @@ POST escalate severity Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId}/escalate ${PerceivedSeverity} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET escalate severity log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId}/escalate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT escalate severity log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId}/escalate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH escalate severity log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId}/escalate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE escalate severity log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId}/escalate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Body Json Schema Is diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 06d25b5cd627e5ac20b5f0b5985fd7a62733a017..d6c9454f31165718f179d2f5ba83652fc1753307 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -1,7 +1,7 @@ *** Settings *** # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -18,7 +18,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -31,7 +31,7 @@ GET information about an individual alarm ... Test title: GET information about an individual alarm ... Test objective: The objective is to read an individual alarm. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -41,12 +41,12 @@ GET information about an individual alarm -PUT Alarm - Method not implemented +PUT Individual Alarm - Method not implemented [Documentation] Test ID: 6.3.4.2.3 - ... Test title: PUT Alarm - Method not implemented + ... Test title: PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -54,12 +54,12 @@ PUT Alarm - Method not implemented Check HTTP Response Status Code Is 405 -PATCH Alarm +PATCH Individual Alarm [Documentation] Test ID: 6.3.4.2.4 - ... Test title: PATCH Alarm + ... Test title: PATCH Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -67,12 +67,12 @@ PATCH Alarm Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarmModifications -PATCH Alarm - Precondition failed +PATCH Individual Alarm - Precondition failed [Documentation] Test ID: 6.3.4.2.5 - ... Test title: PATCH Alarm - Precondition failed - ... Test objective: The objective is to Modify an individual alarm resource + ... Test title: PATCH Individual Alarm - Precondition failed + ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: The alarm resource is not modified @@ -80,12 +80,12 @@ PATCH Alarm - Precondition failed Check HTTP Response Status Code Is 412 Check HTTP Response Body Json Schema Is ProblemDetails -PATCH Alarm - Conflict +PATCH Individual Alarm - Conflict [Documentation] Test ID: 6.3.4.2.6 - ... Test title: PATCH Alarm - Conflict + ... Test title: PATCH Individual Alarm - Conflict ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: The alarm resource is not modified @@ -94,12 +94,12 @@ PATCH Alarm - Conflict Check HTTP Response Body Json Schema Is ProblemDetails -DELETE Alarm - Method not implemented +DELETE Individual Alarm - Method not implemented [Documentation] Test ID: 6.3.4.2.7 - ... Test title: DELETE Alarm - Method not implemented + ... Test title: DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: alarm not deleted @@ -113,7 +113,7 @@ POST Alarm Task Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Alarm Task log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -121,7 +121,7 @@ PUT Alarm Task ${body}= Get File jsons/alarmModifications.json Put ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Alarm Task log Trying to perform a PATCH. This method modifies an individual alarm resource Set Headers {"Accept":"${ACCEPT}"} @@ -131,7 +131,7 @@ PATCH Alarm Task ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Alarm Task with wrong precondition log Trying to perform a PATCH. This method modifies an individual alarm resource Set Headers {"Accept":"${ACCEPT}"} @@ -140,14 +140,14 @@ PATCH Alarm Task with wrong precondition ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Alarm Task log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarm Task Log Query VNF The GET method queries information about individual alarm. Set Headers {"Accept":"${ACCEPT}"} @@ -157,7 +157,7 @@ GET Alarm Task ${etag} Output response headers ETag Set Suite Variable &{original_etag} ${etag} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarm Task with filter Log Query VNF The GET method queries information about individual alarm with filters. Set Headers {"Accept":"${ACCEPT}"} @@ -165,7 +165,7 @@ GET Alarm Task with filter Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${alarm_filter}=${managedObjectId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarm Task with invalid filter Log Query VNF The GET method queries information about individual alarm with filters. Set Headers {"Accept":"${ACCEPT}"} @@ -173,10 +173,10 @@ GET Alarm Task with invalid filter Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${invalid_alarm_filter}=${managedObjectId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Body Json Schema Is @@ -184,4 +184,4 @@ Check HTTP Response Body Json Schema Is Should Contain ${response['headers']['Content-Type']} application/json ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK \ No newline at end of file + Log Json Schema Validation OK diff --git a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot index a98869517c2c823e980586228875dce5a96b88bb..db5d06baf720809bc3df8c8a145cc21f3a3ea72c 100644 --- a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot @@ -2,7 +2,7 @@ Resource environment/variables.txt Library JSONLibrary Library JSONSchemaLibrary schemas/ -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Documentation This resource represents an individual subscription for VNF alarms. ... The client can use this resource to read and to terminate a subscription to notifications related to VNF fault management. Suite Setup Check resource existence @@ -13,7 +13,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -25,7 +25,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -38,7 +38,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -51,7 +51,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -64,11 +64,10 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that the deletion of a subscription ... Pre-conditions: an existing subscription - ... Reference: clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: the subscription is deleted - Check resource existence Delete individual subscription Check HTTP Response Status Code Is 204 @@ -84,35 +83,35 @@ Post Create individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get individual subscription log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get individual subscription - filter Log Get the list of active individual subscription using a filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get individual subscription - invalid filter Log Get the list of active individual subscription using an invalid filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT individual subscription log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH individual subscription log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -120,18 +119,18 @@ PATCH individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE individual subscription log Try to delete an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Body Json Schema Is @@ -139,4 +138,4 @@ Check HTTP Response Body Json Schema Is Should Contain ${response['headers']['Content-Type']} application/json ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK \ No newline at end of file + Log Json Schema Validation OK diff --git a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot index 2201f3d1b27fabddfa12ca83c6c170e46159156c..0b8e28edac324e2e9662679b0cb1f79d065eafd0 100644 --- a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/SOL002-VNFFaultManagement-API.json b/SOL002/VNFFaultManagement-API/SOL002-VNFFaultManagement-API.json deleted file mode 100644 index 009e6df2f52cf6d4327d985ebf5c28bfb4c4df14..0000000000000000000000000000000000000000 --- a/SOL002/VNFFaultManagement-API/SOL002-VNFFaultManagement-API.json +++ /dev/null @@ -1,4257 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "DRAFT - SOL002 - VNF Fault Management interface", - "description": "DRAFT VNF Fault Management interface of ETSI NFV SOL002\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=---\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 002 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf" - }, - "basePath": "/vnffm/v1", - "schemes": [ - "http", - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/alarms": { - "get": { - "description": "The client can use this method to retrieve information about the alarm list.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The request has succeeded. The response body shall contain the list of related alarms.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "rootCauseFaultyResource", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "type": "string" - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "type": "string" - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/alarms/{alarmId}": { - "parameters": [ - { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "The client can use this method to read an individual alarm.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Information about an individual alarm was read successfully. The response body shall contain a representation of the individual alarm.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "rootCauseFaultyResource", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "type": "string" - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "type": "string" - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "patch": { - "description": "This method modifies an individual alarm resource.\n", - "parameters": [ - { - "name": "AlarmModifications", - "description": "The parameter for the alarm modification", - "in": "body", - "required": true, - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/mergepatch+json\" Reference: IETF RFC 7396\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe request was accepted and completed. The response body shall contain attribute modifications for an ‘Individual alarm’ resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the \"Individual alarm\" resource. Typically, this is due to the fact that the alarm is already in the state that is requested to be set (such as trying to acknowledge an already-acknowledged alarm). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/alarms/{alarmId}/escalate": { - "post": { - "description": "The POST method enables the consumer to escalate the perceived severity of an alarm that is represented by an ndividual alarm resource.\n", - "parameters": [ - { - "name": "PerceivedSeverityRequest", - "description": "The proposed \"escalated perceived severity\" value", - "in": "body", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK\nThe VNFM has received the proposed \"escalated perceived severity\" value successfully. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/alarms/subscriptions": { - "post": { - "description": "The POST method creates a new subscription.\n", - "parameters": [ - { - "name": "FmSubscriptionRequest", - "description": "The VNF creation parameters", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a subscription request related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification 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": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match VNF alarms with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "authentication": { - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location:\" HTTP header that points to the created subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created subscription resource.\n", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification 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": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match VNF alarms with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "303": { - "description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "The client can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the client. It can be used e.g. for resynchronization after error situations.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification 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": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match VNF alarms with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "The client can use this method for reading an individual subscription for VNF alarms subscribed by the client.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification 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": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match VNF alarms with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "This method terminates an individual subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/SOL002-VNFFaultManagement-API.yaml b/SOL002/VNFFaultManagement-API/SOL002-VNFFaultManagement-API.yaml deleted file mode 100644 index 1d7825ffe1ed400a377308e12cd503abdcb252c8..0000000000000000000000000000000000000000 --- a/SOL002/VNFFaultManagement-API/SOL002-VNFFaultManagement-API.yaml +++ /dev/null @@ -1,6539 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: DRAFT - SOL002 - VNF Fault Management interface - description: > - DRAFT VNF Fault Management interface of ETSI NFV SOL002 - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /vnffm/v1 -schemes: - - http - - https -consumes: - - application/json -produces: - - application/json -paths: - /alarms: - get: - description: > - The client can use this method to retrieve information about the alarm - list. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: > - The request has succeeded. The response body shall contain the list - of related alarms. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - rootCauseFaultyResource - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - rootCauseFaultyResource: - description: > - This type represents the faulty virtual resources that have a - negative impact on a VNF. - type: object - required: - - faultyResource - - faultyResourceType - properties: - faultyResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available from - the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - faultyResourceType: - description: > - The enumeration FaultyResourceType represents those types - of faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - type: string - eventTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - eventType: - type: string - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If TRUE, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: | - List of identifiers of other alarms correlated to this fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - objectInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/alarms/{alarmId}': - parameters: - - name: alarmId - description: > - Identifier of the alarm. This identifier can be retrieved from the - "id" attribute of the "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true - get: - description: | - The client can use this method to read an individual alarm. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: > - Information about an individual alarm was read successfully. The - response body shall contain a representation of the individual - alarm. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - rootCauseFaultyResource - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - rootCauseFaultyResource: - description: > - This type represents the faulty virtual resources that have a - negative impact on a VNF. - type: object - required: - - faultyResource - - faultyResourceType - properties: - faultyResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available from - the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - faultyResourceType: - description: > - The enumeration FaultyResourceType represents those types - of faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - type: string - eventTime: - description: > - Date-time stamp. Representation: String formatted according - to IETF RFC 3339. - type: string - format: date-time - eventType: - type: string - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other - correlated alarms. If TRUE, then the alarms listed in the - attribute CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: | - List of identifiers of other alarms correlated to this fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - objectInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - patch: - description: | - This method modifies an individual alarm resource. - parameters: - - name: AlarmModifications - description: The parameter for the alarm modification - in: body - required: true - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that can - be modified are included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/mergepatch+json" Reference: IETF RFC 7396 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - The request was accepted and completed. The response body shall - contain attribute modifications for an ‘Individual alarm’ resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents attribute modifications for an "Individual - alarm" resource, i.e. modifications to a resource representation - based on the "Alarm" data type. The attributes of "Alarm" that can - be modified are included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted - values: * ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the "Individual alarm" resource. Typically, this is due - to the fact that the alarm is already in the state that is requested - to be set (such as trying to acknowledge an already-acknowledged - alarm). The response body shall contain a ProblemDetails structure, - in which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/alarms/{alarmId}/escalate': - post: - description: > - The POST method enables the consumer to escalate the perceived severity - of an alarm that is represented by an ndividual alarm resource. - parameters: - - name: PerceivedSeverityRequest - description: The proposed "escalated perceived severity" value - in: body - schema: - type: string - responses: - '200': - description: > - OK - - The VNFM has received the proposed "escalated perceived severity" - value successfully. The response body shall be empty. - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /alarms/subscriptions: - post: - description: | - The POST method creates a new subscription. - parameters: - - name: FmSubscriptionRequest - description: The VNF creation parameters - in: body - required: true - schema: - description: > - This type represents a subscription request related to - notifications about VNF faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about VNF faults. At a particular nesting level - in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the values - in the array matches (logical "or" between the values of one - filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - faultyResourceTypes: - description: > - Match VNF alarms with a faulty resource type listed in - this attribute. - type: array - items: - description: > - The enumeration FaultyResourceType represents those - types of faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '201': - description: > - Created - - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. The - HTTP response shall include a "Location:" HTTP header that points to - the created subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - Location: - description: | - The resource URI of the created subscription resource. - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF faults. At a particular nesting level - in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the values - in the array matches (logical "or" between the values of one - filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - faultyResourceTypes: - description: > - Match VNF alarms with a faulty resource type listed in - this attribute. - type: array - items: - description: > - The enumeration FaultyResourceType represents those - types of faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '303': - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing subscription - resource. The response body shall be empty. - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - The client can use this method to retrieve the list of active - subscriptions for VNF alarms subscribed by the client. It can be used - e.g. for resynchronization after error situations. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF faults. At a particular nesting level - in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the values - in the array matches (logical "or" between the values of one - filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - faultyResourceTypes: - description: > - Match VNF alarms with a faulty resource type listed in - this attribute. - type: array - items: - description: > - The enumeration FaultyResourceType represents those - types of faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: > - The client can use this method for reading an individual subscription - for VNF alarms subscribed by the client. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF faults. At a particular nesting level - in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" - between different filter attributes). If an attribute is an - array, the attribute shall match if at least one of the values - in the array matches (logical "or" between the values of one - filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - faultyResourceTypes: - description: > - Match VNF alarms with a faulty resource type listed in - this attribute. - type: array - items: - description: > - The enumeration FaultyResourceType represents those - types of faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator - attention. * CRITICAL: The Critical severity level - indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a - service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the - existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the - detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level - indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the - clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: > - Match VNF alarms with an event type listed in this - attribute. - type: array - items: - description: > - The enumeration EventType represents those types of - events that trigger an alarm. * COMMUNICATIONS_ALARM: An - alarm of this type is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is - associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is - associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated - with an equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: > - Match VNF alarms with a probable cause listed in this - attribute. - type: array - items: - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - This method terminates an individual subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '204': - description: > - No Content - - The subscription resource was deleted successfully. The response - body shall be empty. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 6da4fc3319a8ec3277dbeed4bc7605bee7c54825..1977027d5e4e68508e4af21a279a518602ace4a7 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -1,6 +1,6 @@ *** Settings *** Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -11,20 +11,21 @@ Create a new subscription ... Test title: Create a new subscription ... Test objective: The objective is to create a new subscription. ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: subscription is created + ... Post-Conditions: Resource created successfully Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is FmSubscription + Check resource existence Create a new Subscription - DUPLICATION [Documentation] Test ID: 6.3.4.4.2 ... Test title: Create a new Subscription - DUPLICATION ... Test objective: The objective is to create a duplicate subscription. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM does not allow creation of a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created @@ -37,7 +38,7 @@ Create a new Subscription - NO-DUPLICATION ... Test title: Create a new Subscription - NO-DUPLICATION ... Test objective: The objective is to create a subscription in case of not allowed DUPLICATION. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM does not allow creation of a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created @@ -45,11 +46,11 @@ Create a new Subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 GET Subscriptions - [Documentation] Test ID: 6.3.4.4.5 + [Documentation] Test ID: 6.3.4.4.4 ... Test title: GET Subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: subscription is not deleted @@ -58,11 +59,11 @@ GET Subscriptions Check HTTP Response Body Json Schema Is FmSubscriptions GET Subscription - Filter - [Documentation] Test ID: 6.3.4.4.6 + [Documentation] Test ID: 6.3.4.4.5 ... Test title: GET Subscription - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -71,11 +72,11 @@ GET Subscription - Filter Check HTTP Response Body Json Schema Is FmSubscriptions GET subscriptions - Bad Request Invalid attribute-based filtering parameters - [Documentation] Test ID: 6.3.4.4.7 + [Documentation] Test ID: 6.3.4.4.6 ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -84,11 +85,11 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters Check HTTP Response Body Json Schema Is ProblemDetails GET subscriptions with "all_fields" attribute selector - [Documentation] Test ID: 6.3.4.4.8 + [Documentation] Test ID: 6.3.4.4.7 ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -97,11 +98,11 @@ GET subscriptions with "all_fields" attribute selector Check HTTP Response Body Json Schema Is FmSubscriptions GET subscriptions with "exclude_default" attribute selector - [Documentation] Test ID: 6.3.4.4.9 + [Documentation] Test ID: 6.3.4.4.8 ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -110,11 +111,11 @@ GET subscriptions with "exclude_default" attribute selector Check HTTP Response Body Json Schema Is FmSubscriptions GET subscriptions with "fields" attribute selector - [Documentation] Test ID: 6.3.4.4.10 + [Documentation] Test ID: 6.3.4.4.9 ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -123,11 +124,11 @@ GET subscriptions with "fields" attribute selector Check HTTP Response Body Json Schema Is FmSubscriptions GET subscriptions with "exclude_fields" attribute selector - [Documentation] Test ID: 6.3.4.4.11 + [Documentation] Test ID: 6.3.4.4.10 ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -138,11 +139,11 @@ GET subscriptions with "exclude_fields" attribute selector PUT subscriptions - Method not implemented - [Documentation] Test ID: 6.3.4.4.8 + [Documentation] Test ID: 6.3.4.4.11 ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -150,11 +151,11 @@ PUT subscriptions - Method not implemented Check HTTP Response Status Code Is 405 PATCH subscriptions - Method not implemented - [Documentation] Test ID: 6.3.4.4.9 + [Documentation] Test ID: 6.3.4.4.12 ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -162,17 +163,128 @@ PATCH subscriptions - Method not implemented Check HTTP Response Status Code Is 405 DELETE subscriptions - Method not implemented - [Documentation] Test ID: 6.3.4.4.10 + [Documentation] Test ID: 6.3.4.4.13 ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: subscription not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 + +GET Subscriptions to get Paged Response + [Documentation] Test ID: 6.3.4.4.14 + ... Test title: GET Subscriptions to get Paged Response + ... Test objective: The objective is to retrieve the list of active subscriptions to get paged response + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: subscription is not deleted + Get subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET subscriptions - Bad Request Response too Big + [Documentation] Test ID: 6.3.4.4.15 + ... Test title: GET subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that GET method fail retrieving list of active subscription because Response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions - invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails +GET Subscription with attribute-based filter "id" + [Documentation] Test ID: 6.3.4.4.16 + ... Test title: GET Subscription with attribute-based filter "id" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscription + Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + + +Get subscriptions with filter "filter.notificationTypes" + [Documentation] Test ID: 6.3.4.4.17 + ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_notificationTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + +Get subscriptions with filter "filter.faultyResourceTypes" + [Documentation] Test ID: 6.3.4.4.18 + ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_faultyResourceTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + +Get subscriptions with filter "filter.perceivedSeverities" + [Documentation] Test ID: 6.3.4.4.19 + ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_perceivedSeverities" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + +Get subscriptions with filter "filter.eventTypes" + [Documentation] Test ID: 6.3.4.4.20 + ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_eventTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + +Get subscriptions with filter "filter.probableCauses" + [Documentation] Test ID: 6.3.4.4.21 + ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_probableCauses" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" + *** Keywords *** Post Create subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -182,7 +294,7 @@ Post Create subscription ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_ALLOWS_DUPLICATE_SUBS} == 0 NVFO is not permitting duplication. Skipping the test @@ -192,7 +304,7 @@ Post Create subscription - DUPLICATION ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_ALLOWS_DUPLICATE_SUBS} == 1 VNFM permits duplication. Skipping the test @@ -202,7 +314,7 @@ Post Create subscription - NO-DUPLICATION ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions Log Get the list of active subscriptions Set Headers {"Accept":"${ACCEPT}"} @@ -211,21 +323,21 @@ Get subscriptions Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - filter Log Get the list of active subscriptions using a filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - invalid filter Log Get the list of active subscriptions using an invalid filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -260,25 +372,25 @@ PUT subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH subscriptions log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE subscriptions log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Body Json Schema Is @@ -286,4 +398,91 @@ Check HTTP Response Body Json Schema Is Should Contain ${response['headers']['Content-Type']} application/json ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK \ No newline at end of file + Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +Get subscriptions with filter "id" + Log Get the list of active subscriptions using a filter "id" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?id=${subscription_id} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${subscription_id} + +Get subscriptions with filter "filter_notificationTypes" + Log Get the list of active subscriptions using a filter "filter.notificationTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.notificationTypes=${notification_type} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} + END + +Get subscriptions with filter "filter_faultyResourceTypes" + Log Get the list of active subscriptions using a filter "filter.faultyResourceTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.faultyResourceTypes=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['faultyResourceTypes']} ${faultyResourceType} + END + +Get subscriptions with filter "filter_perceivedSeverities" + Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} + END + +Get subscriptions with filter "filter_eventTypes" + Log Get the list of active subscriptions using a filter "filter.eventTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.eventTypes=${eventType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} + END + +Get subscriptions with filter "filter_probableCauses" + Log Get the list of active subscriptions using a filter "filter.probableCauses" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} + END + +Check resource existence + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + Integer response status 200 + diff --git a/SOL002/VNFFaultManagement-API/environment/variables.txt b/SOL002/VNFFaultManagement-API/environment/variables.txt index 4a93fafa99bbc19c33af0eee20e25f1ba79d3984..1264a6aa915fde606f59bfb72f96a0d13a5db0f5 100644 --- a/SOL002/VNFFaultManagement-API/environment/variables.txt +++ b/SOL002/VNFFaultManagement-API/environment/variables.txt @@ -36,7 +36,6 @@ ${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec - ${notification_request} [] ${notification_response} [] @@ -48,4 +47,12 @@ ${AlarmListRebuiltNotification} {} ${fields} softwareImages,additionalArtifacts -${response}= httpresponse \ No newline at end of file +${response}= httpresponse + +${vnfcInstanceIds} [] +${faultyResourceType} COMPUTE +${eventType} COMMUNICATIONS_ALARM +${perceivedSeverity} CRITICAL +${probableCause} + +${notification_type} AlarmNotification \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFFaultManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL002/VNFFaultManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/ApiVersion.robot b/SOL002/VNFIndicator-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..fce69405cbb0b1fd92083ae17045bd52a7b612e1 --- /dev/null +++ b/SOL002/VNFIndicator-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.2.7.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.2.7.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/IndividualSubscription.robot b/SOL002/VNFIndicator-API/IndividualSubscription.robot index e102b1c05d46583002a99ea8884903ea47b9a7f8..16de0847ec14eb829f19f6739d85df8782aeb71f 100644 --- a/SOL002/VNFIndicator-API/IndividualSubscription.robot +++ b/SOL002/VNFIndicator-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ GET Individual VNF Indicator Subscription ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test the retrieval of individual VNF performance indicator subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -24,20 +24,46 @@ GET Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test that the retrieval of individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none GET Individual VNF Indicator Subscription with invalid resource identifier Check HTTP Response Status Code Is 404 Check HTTP Response Body Json Schema Is ProblemDetails - + +DELETE Individual VNF Indicator Subscription + [Documentation] Test ID: 6.3.2.5.3 + ... Test title: Delete individual subscription to VNF performance indicators + ... Test objective: The objective is to test the deletion of an individual VNF performance indicator subscription. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators + ... Post-Conditions: The subscription to VNF performance indicators is deleted + Send Delete Request for Individual VNF Indicator Subscription + Check HTTP Response Status Code Is 204 + Check Postcondition Individual VNF Indicator Subscription is Deleted + +DELETE Individual VNF Indicator Subscription with invalid resource identifier + [Documentation] Test ID: 6.3.2.5.4 + ... Test title: Delete individual subscription to VNF performance indicators + ... Test objective: The objective is to test that the deletion of an individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators + ... Post-Conditions: none + Send Delete Request for Individual VNF Indicator Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + PUT Individual VNF Indicator Subscription - Method not implemented - [Documentation] Test ID 6.3.2.5.5 + [Documentation] Test ID: 6.3.2.5.5 ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: The individual VNF indicator subscription is not modified by the operation @@ -46,11 +72,11 @@ PUT Individual VNF Indicator Subscription - Method not implemented Check Postcondition VNF individual subscription Unmodified (Implicit) PATCH Individual VNF Indicator Subscription - Method not implemented - [Documentation] Test ID 6.3.2.5.6 + [Documentation] Test ID: 6.3.2.5.6 ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an individual VNF performance indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: The individual VNF indicator subscription is not modified by the operation @@ -59,11 +85,11 @@ PATCH Individual VNF Indicator Subscription - Method not implemented Check Postcondition VNF individual subscription Unmodified (Implicit) POST Individual VNF Indicator Subscription - Method not implemented - [Documentation] Test ID 6.3.2.5.7 + [Documentation] Test ID: 6.3.2.5.7 ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: The individual VNF indicator subscription is not created by the operation @@ -71,32 +97,6 @@ POST Individual VNF Indicator Subscription - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition VNF individual subscription is not created -DELETE Individual VNF Indicator Subscription - [Documentation] Test ID: 6.3.2.5.3 - ... Test title: Delete individual subscription to VNF performance indicators - ... Test objective: The objective is to test the deletion of an individual VNF performance indicator subscription. - ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 - ... Config ID: Config_prod_VE - ... Applicability: The VNF supports the generation and maintenance of performance indicators - ... Post-Conditions: The subscription to VNF performance indicators is deleted - Send Delete Request for Individual VNF Indicator Subscription - Check HTTP Response Status Code Is 204 - Check Postcondition Individual VNF Indicator Subscription is Deleted - -DELETE Individual VNF Indicator Subscription with invalid resource identifier - [Documentation] Test ID: 6.3.2.5.4 - ... Test title: Delete individual subscription to VNF performance indicators - ... Test objective: The objective is to test that the deletion of an individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. - ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 - ... Config ID: Config_prod_VE - ... Applicability: The VNF supports the generation and maintenance of performance indicators - ... Post-Conditions: none - Send Delete Request for Individual VNF Indicator Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - Check HTTP Response Body Json Schema Is ProblemDetails - *** Keywords *** Get Individual VNF Indicator Subscription Log Trying to get a given subscription identified by subscriptionId diff --git a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot index 43a4931f611b630da42aed71da8bfd39071c7ed5..f4cecd7135da72dae4981d4ce3ecaaf85b086885 100644 --- a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot +++ b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot @@ -10,7 +10,7 @@ Get Individual Indicator for VNF Instance ... Test title: Get individual performance indicator for a VNF instance ... Test objective: The objective is to test the retrieval of a performance indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -25,7 +25,7 @@ Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test title: Get individual performance indicator for a VNF instance with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator for a given VNF instance fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Individual VNF Indicator - Method not implemented ... Test title: POST individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Indicator - Method not implemented ... Test title: PUT individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Indicator - Method not implemented ... Test title: PATCH individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual VNF Indicator - Method not implemented ... Test title: DELETE individual performance indicator indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: The individual performance indicator for the VNF instance is not deleted by the unsuccessful operation @@ -82,6 +82,82 @@ DELETE Individual VNF Indicator - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition Indicator for VNF instance Exist +Get Individual Performance Indicator + [Documentation] Test ID: 6.3.2.3.7 + ... Test title: Get Individual Performance Indicator + ... Test objective: The objective is to test the retrieval of a performance indicator and perform a JSON schema validation of the returned indicator data structure + ... Pre-conditions: At least one measure of performance indicator is available.. + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators + ... Post-Conditions: none + Get Individual Indicator + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfIndicator + Check HTTP Response Body Includes Requested Indicator ID + +Get Individual Performance Indicator with invalid indicator identifier + [Documentation] Test ID: 6.3.2.3.8 + ... Test title: Get Individual Performance Indicator with invalid indicator identifier + ... Test objective: The objective is to test that the retrieval of a performance indicator fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: At least one measure of performance indicator is available. + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Get Individual Indicator with invalid indicator identifier + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Individual Performance Indicator - Method not implemented + [Documentation] Test ID: 6.3.2.3.9 + ... Test title: POST Individual Performance Indicator - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator. + ... Pre-conditions: + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Send POST Request for individual indicator + Check HTTP Response Status Code Is 405 + +PUT Individual Performance Indicator - Method not implemented + [Documentation] Test ID: 6.3.2.3.10 + ... Test title: PUT Individual Performance Indicator - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator. + ... Pre-conditions: At least one measure of performance indicator is available. + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Send PUT Request for individual indicator + Check HTTP Response Status Code Is 405 + +PATCH Individual Performance Indicator - Method not implemented + [Documentation] Test ID: 6.3.2.3.11 + ... Test title: PATCH Individual Performance Indicator - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator. + ... Pre-conditions: At least one measure of performance indicator is available. + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Send PATCH Request for individual indicator + Check HTTP Response Status Code Is 405 + +DELETE Individual Performance Indicator - Method not implemented + [Documentation] Test ID: 6.3.2.3.12 + ... Test title: DELETE Individual Performance Indicator - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator. + ... Pre-conditions: At least one measure of performance indicator is available. + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: + Send DELETE Request for individual indicator + Check HTTP Response Status Code Is 405 + Check PostCondition Individual Indicator exist + *** Keywords *** Get Individual Indicator for a VNF instance Log This resource represents a VNF indicator related to a VNF instance. @@ -163,3 +239,58 @@ Check Postcondition Indicator for VNF instance Exist Get Individual Indicator for a VNF instance Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} Should Be Equal As Strings ${response['body']['id']} ${indicatorId} + +Get Individual Indicator + Log This resource represents a VNF indicator related to a VNF instance. + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${indicatorId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Indicator with invalid indicator identifier + Log Trying to perform a negative get, using wrong identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${erroneousIndicatorId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send POST Request for individual indicator + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${notAllowedIndicatorId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for individual indicator + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/indicators/${indicatorId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for individual indicator + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/indicators/${indicatorId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for individual indicator + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/indicators/${indicatorId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check PostCondition Individual Indicator exist + Log This resource represents a VNF indicator related to a VNF instance. + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId}/${indicatorId} + Integer response status 200 \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/SOL002-VNFIndicator-API.json b/SOL002/VNFIndicator-API/SOL002-VNFIndicator-API.json deleted file mode 100644 index c1885ee3554b7eb90526ac2799809b920922ca3b..0000000000000000000000000000000000000000 --- a/SOL002/VNFIndicator-API/SOL002-VNFIndicator-API.json +++ /dev/null @@ -1 +0,0 @@ -{"swagger":"2.0","info":{"version":"1.1.1","title":"SOL002 - VNF Indicator interface","description":"VNF Indicator interface of ETSI NFV SOL002.\nThis API allows the EM/VNF to provide information on value changes of VNF related indicators. VNF related indicators are declared in the VNFD.\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n","license":{"name":"ETSI Forge copyright notice","url":"https://forge.etsi.org/etsi-forge-copyright-notice.txt"}},"externalDocs":{"description":"ETSI GS NFV-SOL 002 V2.4.1","url":"http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf"},"basePath":"/vnfind/v1","schemes":["http","https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/indicators":{"get":{"summary":"Query multiple indicators","description":"Get a list of indicators. Support of attribute based filtering via query parameters.","responses":{"200":{"description":"OK\nThe list of VNF indicators was queried successfully. The response body shall contain the representations of all VNF indicators that match the attribute-based filtering parameters.\n","schema":{"type":"array","items":{"type":"object","required":["id","value","vnfInstanceId","_links"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"name":{"type":"string"},"value":{"type":"object"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/indicators/{vnfInstanceId}":{"parameters":[{"name":"vnfInstanceId","in":"path","description":"Service Unavailable\nIdentifier of the VNF instance to which the VNF indicators applies. NOTE: This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","type":"string","required":true}],"get":{"summary":"Query multiple indicators related to a VNF instance.","description":"Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters.\n","responses":{"200":{"description":"OK\nThe list of VNF indicators was queried successfully. The response body shall contain the representations of all VNF indicators that match the attribute-based filtering parameters.\n","schema":{"type":"array","items":{"type":"object","required":["id","value","vnfInstanceId","_links"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"name":{"type":"string"},"value":{"type":"object"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/indicators/{vnfInstanceId}/{indicatorId}":{"parameters":[{"name":"vnfInstanceId","in":"path","description":"Service Unavailable\nIdentifier of the VNF instance to which the VNF indicators applies. NOTE: This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","type":"string","required":true},{"name":"indicatorId","in":"path","description":"Identifier of the VNF indicator.\n","type":"string","required":true}],"get":{"summary":"Read an inidividual VNF indicator related to a VNF instance.","description":"Read an individual VNF indicator related to a specific VNF instance. NOTE: This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","responses":{"200":{"description":"OK\nThe VNF indicator was read successfully. The response body shall contain the representation of the VNF indicator.\n","schema":{"type":"object","required":["id","value","vnfInstanceId","_links"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"name":{"type":"string"},"value":{"type":"object"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/subscriptions":{"post":{"summary":"Create a new subscription to VNF indicator change notifications","description":"Create a new subscription","parameters":[{"name":"subscription","in":"body","description":"Subscription data.","required":true,"schema":{"description":"This type represents a subscription request related to VNF indicator value change notifications.\n","type":"object","required":["callbackUri"],"properties":{"filter":{"description":"This type represents a subscription filter related to notifications about VNF indicator value 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. * NOTE 1:\n The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to \n VNF instances that are based on certain VNFDs in a filter. They should not be used both\n in the same filter instance, but one alternative should be chosen.\n * NOTE 2:\n The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to\n particular VNF instances in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See NOTE 1.\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. See NOTE 1.\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":["vnfSoftwareVersions"],"properties":{"vnfSoftwareVersions":{"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. See NOTE 2.\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. See NOTE 2\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"URI"},"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"}}}}}}}}],"responses":{"201":{"description":"Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource.\n","schema":{"description":"This type represents a subscription related to notifications about VNF indicator value changes.\n","type":"object","required":["callbackUri","id","_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 indicator value 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. * NOTE 1:\n The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to \n VNF instances that are based on certain VNFDs in a filter. They should not be used both\n in the same filter instance, but one alternative should be chosen.\n * NOTE 2:\n The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to\n particular VNF instances in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See NOTE 1.\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. See NOTE 1.\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":["vnfSoftwareVersions"],"properties":{"vnfSoftwareVersions":{"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. See NOTE 2.\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. See NOTE 2\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"URI"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}},"headers":{"Location":{"description":"Pointer to the created subscription resource.\n","type":"string","format":"URI"}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"get":{"summary":"Query multiple subscriptions.","description":"Service Unavailable\nThe GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n","responses":{"200":{"description":"OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method which match the attribute filter.\n","schema":{"type":"array","items":{"description":"This type represents a subscription related to notifications about VNF indicator value changes.\n","type":"object","required":["callbackUri","id","_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 indicator value 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. * NOTE 1:\n The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to \n VNF instances that are based on certain VNFDs in a filter. They should not be used both\n in the same filter instance, but one alternative should be chosen.\n * NOTE 2:\n The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to\n particular VNF instances in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See NOTE 1.\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. See NOTE 1.\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":["vnfSoftwareVersions"],"properties":{"vnfSoftwareVersions":{"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. See NOTE 2.\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. See NOTE 2\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"URI"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/subscriptions/{subscriptionId}":{"get":{"summary":"Read an individual subscription.","description":"Service Unavailable\nThis resource represents an individual subscription. The client can use this resource to read and to terminate a subscription to notifications related to VNF indicator value changes.\n","parameters":[{"name":"subscriptionId","description":"Identifier of this subscription. NOTE:\n This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header\n in the response to a POST request creating a new subscription resource. It can also be retrieved\n from the \"id\" attribute in the payload body of that response.\n","in":"path","type":"string","required":true}],"responses":{"200":{"description":"OK\nThe subscriptions was queried successfully. The response body shall contain the representation of the requested subscription.\n","schema":{"description":"This type represents a subscription related to notifications about VNF indicator value changes.\n","type":"object","required":["callbackUri","id","_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 indicator value 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. * NOTE 1:\n The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to \n VNF instances that are based on certain VNFDs in a filter. They should not be used both\n in the same filter instance, but one alternative should be chosen.\n * NOTE 2:\n The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to\n particular VNF instances in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See NOTE 1.\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. See NOTE 1.\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":["vnfSoftwareVersions"],"properties":{"vnfSoftwareVersions":{"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. See NOTE 2.\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. See NOTE 2\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"URI"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"delete":{"summary":"Delete a subscription","description":"Terminate an individual subscription.","parameters":[{"name":"subscriptionId","description":"Service Unavailable\nIdentifier of this subscription. NOTE:\n This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header\n in the response to a POST request creating a new subscription resource. It can also be retrieved\n from the \"id\" attribute in the payload body of that response.\n","in":"path","type":"string","required":true}],"responses":{"204":{"description":"No Content\nThe subscription was deleted successfully. The response body shall be empty.\n"},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"409":{"description":"Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}} diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 21f4d4ac59ce9e3437f4a31584611d48a725db42..fd458fbb6c015e00fe4d96b3a0736c26ffa964d0 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -5,7 +5,8 @@ Resource environment/subscriptions.txt Library OperatingSystem Library JSONLibrary Library Process -Library MockServerLibrary +Library MockServerLibrary +Library String Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true @@ -16,7 +17,7 @@ GET VNF Indicators Subscriptions ... Test title: GET VNF Indicators Subscriptions ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -29,7 +30,7 @@ GET VNF Indicators Subscriptions with attribute-based filter ... Test title: GET VNF Indicators Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions using attribute-based filter and perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -43,7 +44,7 @@ GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test title: GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -52,11 +53,11 @@ GET VNF Indicators Subscriptions with invalid attribute-based filter Check HTTP Response Body Json Schema Is ProblemDetails GET VNF Indicators Subscriptions with invalid resource endpoint - [Documentation] Test ID 6.3.2.4.4 + [Documentation] Test ID: 6.3.2.4.4 ... Test title: GET VNF Indicators Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -64,11 +65,11 @@ GET VNF Indicators Subscriptions with invalid resource endpoint Check HTTP Response Status Code Is 404 Create new VNF indicator subscription - [Documentation] Test ID 6.3.2.4.5 + [Documentation] Test ID: 6.3.2.4.5 ... Test title: Create new VNF indicator subscription ... Test objective: The objective is to test the creation of a new VNF indicator subscription perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: The VNF indicator subscription is successfully set and it matches the issued subscription @@ -79,11 +80,11 @@ Create new VNF indicator subscription Check Postcondition VNF Indicator Subscription Is Set PUT VNF Indicator Subscriptions - Method not implemented - [Documentation] Test ID 6.3.2.4.6 + [Documentation] Test ID: 6.3.2.4.6 ... Test title: PUT VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -91,11 +92,11 @@ PUT VNF Indicator Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 PATCH VNF Indicator Subscriptions - Method not implemented - [Documentation] Test ID 6.3.2.4.7 + [Documentation] Test ID: 6.3.2.4.7 ... Test title: PATCH VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -103,17 +104,43 @@ PATCH VNF Indicator Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 DELETE VNF Indicator Subscriptions - Method not implemented - [Documentation] Test ID 6.3.2.4.8 + [Documentation] Test ID: 6.3.2.4.8 ... Test title: DELETE VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none Send Delete Request for VNF Indicator Subscriptions Check HTTP Response Status Code Is 405 +GET VNF Indicators Subscriptions to get Paged Response + [Documentation] Test ID: 6.3.2.4.9 + ... Test title: GET VNF Indicators Subscriptions to get Paged Response + ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions to get Paged Response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of indicators + ... Post-Conditions: none + Get VNF Indicators Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Indicators Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 6.3.2.4.10 + ... Test title: GET VNF Indicators Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of indicators + ... Post-Conditions: none + Get VNF Indicators Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Get VNF Indicators Subscriptions Log Trying to get the list of subscriptions @@ -220,9 +247,9 @@ Check Postcondition VNF Indicator Subscription Is Set Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Indicators according to filter - #todo - - + @{words} = Split String ${POS_FILTER} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] + Create Sessions Pass Execution If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance @@ -234,4 +261,8 @@ Check Notification Endpoint &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} \ No newline at end of file + Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 92edb2aa050053c0d841c574cd8eb5ade364a823..bc6dbd9c9c56621a23963fa2646f9618e752a435 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -1,8 +1,9 @@ *** Settings *** -Documentation This clause defines all the resources and methods provided by the VNF Indicator interface. \ +Documentation This Clause defines all the resources and methods provided by the VNF Indicator interface. \ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary +Library String Resource environment/vnfIndicators.txt Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false @@ -12,7 +13,7 @@ Get all VNF Indicators ... Test title: Get all VNF Indicators ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -25,7 +26,7 @@ Get VNF Indicators with attribute-based filter ... Test title: Get VNF Indicators with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicators using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -39,7 +40,7 @@ Get VNF Indicators with invalid attribute-based filter ... Test title: Get VNF Indicators with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -52,7 +53,7 @@ Get all VNF Indicators with malformed authorization token ... Test title: GET all VNF Indicators with malformed authrization token. ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using malformed authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -64,7 +65,7 @@ Get all VNF Indicators without authorization token ... Test title: GET all VNF Indicators without authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when omitting the authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -76,7 +77,7 @@ GET all VNF Indicators with expired or revoked authorization token ... Test title: GET all VNF Indicators with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using expired or revoked authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -88,7 +89,7 @@ Get all VNF Indicators with invalid resource endpoint ... Test title: GET all VNF Indicators with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -100,7 +101,7 @@ POST all VNF Indicators - Method not implemented ... Test title: POST all VNF Indicators - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF - ... Reference: clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -112,7 +113,7 @@ PUT all VNF Indicators - Method not implemented ... Test title: PUT all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -124,7 +125,7 @@ PATCH all VNF Indicators - Method not implemented ... Test title: PATCH all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF - ... Reference: clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -136,7 +137,7 @@ DELETE all VNF Indicators - Method not implemented ... Test title: DELETE all VNF Indicators - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF - ... Reference: clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -144,6 +145,32 @@ DELETE all VNF Indicators - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition VNF Indicators Exist +Get VNF Indicators to get Paged Response + [Documentation] Test ID: 6.3.2.1.12 + ... Test title: Get VNF Indicators to get Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF indicators with Paged Response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Get all VNF indicators + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get VNF Indicators - Bad Request Response too Big + [Documentation] Test ID: 6.3.2.1.13 + ... Test title: Get VNF Indicators - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF indicators fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Get all VNF indicators + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Get all VNF indicators Log The GET method queries multiple VNF indicators @@ -269,4 +296,11 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter - #todo \ No newline at end of file + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_name} = Split String @{attr}[0] ,${SEPERATOR} + @{var_id} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]" + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 70bd4ab965d3cdae4f1420329592cb0a6a1449cd..11f83e45bbbcf2a68de2f9040650f1df20b52ce3 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -4,6 +4,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/vnfIndicatorinVnfInstance.txt Library JSONLibrary +Library String Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false *** Test Cases *** @@ -12,7 +13,7 @@ Get Indicators for VNF Instance ... Test title: Get all performance indicators for a VNF instance ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -22,11 +23,11 @@ Get Indicators for VNF Instance Check HTTP Response Body Includes Requested VNF Instance ID GET Indicators for VNF Instance with attribute-based filter - [Documentation] Test ID 6.3.2.2.2 + [Documentation] Test ID: 6.3.2.2.2 ... Test title: Get all performance indicators for a VNF instance with attribute-based filter ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance using attribute-based filter and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -36,11 +37,11 @@ GET Indicators for VNF Instance with attribute-based filter Check HTTP Response Body Matches Attribute-Based Filter Get Indicators for VNF Instance with invalid attribute-based filter - [Documentation] Test ID 6.3.2.2.3 + [Documentation] Test ID: 6.3.2.2.3 ... Test title: Get all performance indicators for a VNF instance with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -49,11 +50,11 @@ Get Indicators for VNF Instance with invalid attribute-based filter Check HTTP Response Body Json Schema Is ProblemDetails Get Indicators for VNF Instance with invalid resource identifier - [Documentation] Test ID 6.3.2.2.4 + [Documentation] Test ID: 6.3.2.2.4 ... Test title: Get all performance indicators for a VNF instance with invalid resource identifier ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when using invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -62,11 +63,11 @@ Get Indicators for VNF Instance with invalid resource identifier Check HTTP Response Body Json Schema Is ProblemDetails POST Indicators for VNF instance - Method not implemented - [Documentation] Test ID 6.3.2.2.5 + [Documentation] Test ID: 6.3.2.2.5 ... Test title: POST performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new performance indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -74,11 +75,11 @@ POST Indicators for VNF instance - Method not implemented Check HTTP Response Status Code Is 405 PUT Indicators for VNF instance - Method not implemented - [Documentation] Test ID 6.3.2.2.6 + [Documentation] Test ID: 6.3.2.2.6 ... Test title: PUT performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing performance indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -86,11 +87,11 @@ PUT Indicators for VNF instance - Method not implemented Check HTTP Response Status Code Is 405 PATCH Indicators for VNF instance - Method not implemented - [Documentation] Test ID 6.3.2.2.7 + [Documentation] Test ID: 6.3.2.2.7 ... Test title: PATCH performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing performance indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -98,17 +99,43 @@ PATCH Indicators for VNF instance - Method not implemented Check HTTP Response Status Code Is 405 DELETE Indicators for VNF instance - Method not implemented - [Documentation] Test ID 6.3.2.2.8 + [Documentation] Test ID: 6.3.2.2.8 ... Test title: DELETE performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete performance indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: The indicators for the VNF instance are not deleted by the unsuccessful operation Send DELETE Request for indicators in VNF instance Check HTTP Response Status Code Is 405 Check Postcondition Indicators for VNF instance Exist + +Get Indicators for VNF Instance to get Paged Response + [Documentation] Test ID: 6.3.2.2.9 + ... Test title: Get Indicators for VNF Instance to get Paged Response + ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance to get paged response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators + ... Post-Conditions: none + Get all indicators for a VNF instance + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get Indicators for VNF Instance - Bad Request Response too Big + [Documentation] Test ID: 6.3.2.2.10 + ... Test title: Get Indicators for VNF Instance - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: The VNF supports the generation and maintenance of performance indicators. + ... Post-Conditions: none + Get all indicators for a VNF instance + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Get all indicators for a VNF instance @@ -196,12 +223,20 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Includes Requested VNF Instance ID Log Check Response includes Indicators according to resource identifier - #todo + Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} Check HTTP Response Body Matches Attribute-Based Filter Log Check Response includes VNF Indicators according to filter - #todo + @{words} = Split String ${POS_FIELDS} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['name']} @{words}[1] Check Postcondition Indicators for VNF instance Exist - Log Check Response includes VNF Indicators according to filter - #todo + Log Check Postcondition Indicators for VNF instance Exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId} + Should Be Equal ${response['status']} 200 + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/subscriptions.txt b/SOL002/VNFIndicator-API/environment/subscriptions.txt index 401b374f6fa4c64f5dbac76b67ed2a7d5f3741d1..ec4b63ac0b029a4352bd6e32d35b625436fed83b 100644 --- a/SOL002/VNFIndicator-API/environment/subscriptions.txt +++ b/SOL002/VNFIndicator-API/environment/subscriptions.txt @@ -7,3 +7,4 @@ ${NEG_FILTER} callback=http://127.0.0.1/subscribe ${response}= httpresponse ${total_polling_time} 2 min ${polling_interval} 10 sec +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index 8c323fcab26fba81c930037c0ddcdb32ff039333..58dff1e612c0bc623913e0dee9f69dea4b414152 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -22,4 +22,6 @@ ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies. ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint -${callback_endpoint_error} /endpoint_404 \ No newline at end of file +${callback_endpoint_error} /endpoint_404 + +${response} some_response_object \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt b/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt index 4ebe5488206a095bcb99595e51e9c2f1450b3ac3..8651dee3da6c2b3a4eabfa69879dee2659db881e 100644 --- a/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt +++ b/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt @@ -4,3 +4,4 @@ ${erroneousVnfInstanceId} erroneousVnfInstanceId ${POS_FIELDS} name=vnfIndicator ${NEG_FIELDS} wrongName=any_value ${response}= httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt index 8b1a56f48622c75784aabf684a9bbd76a807e97e..8476590796160e3da8b0d6c7e3548b5d74381854 100644 --- a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt +++ b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt @@ -2,4 +2,7 @@ ${POS_FIELDS} name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe733e3d0 ${NEG_FIELDS} wrongName=wrongValue ${response} some_response_object -${vnfIndicators} +${vnfIndicators} = +${SEPERATOR} = +${VAR_SEPERATOR} & +${POS_FILTER} = \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFIndicator-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL002/VNFIndicator-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFIndicatorNotification-API/VnfIndicatorNotification.robot b/SOL002/VNFIndicatorNotification-API/VnfIndicatorNotification.robot index 010fb7e96c277845de6e71ff04d93d56715192e1..27087d2385841acb84a6af7729789f134783e5c5 100644 --- a/SOL002/VNFIndicatorNotification-API/VnfIndicatorNotification.robot +++ b/SOL002/VNFIndicatorNotification-API/VnfIndicatorNotification.robot @@ -16,7 +16,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test the dispatch of VNF Indicator Value Change Notification when new indicator values are available in the VNF, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNF. - ... Reference: clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNF ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..d3ea1bbe468ab1303db576b41da03500df000237 --- /dev/null +++ b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot @@ -0,0 +1,211 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.5.20.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.5.20.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.5.20.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.5.20.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.5.20.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.5.20.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.5.20.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.5.20.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.5.20.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.5.20.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot index 74e8892460f85c7f5bccb4f64206548bf953cb64..2709d940cdae634bf5196d4f1ea7fffaf2f58906 100644 --- a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -14,7 +14,7 @@ Post Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. ... Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -24,10 +24,10 @@ Post Cancel operation task Post Cancel operation task Conflict [Documentation] Test ID: 6.3.5.16.2 - ... Test title: POST Cancel operation task + ... Test title: POST Cancel operation task Conflict ... Test objective: The POST method is NOT cancelling an ongoing VNF lifecycle operation due to the fact that the VNF instance resource is not in STARTING, PROCESSING or ROLLING_BACK state ... Pre-conditions: operation is not in STARTING, PROCESSING or ROLLING_BACK state - ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -37,11 +37,11 @@ Post Cancel operation task Conflict Post Cancel operation task Not Found # TODO: Need to create a vnfInstance which's instantiatedVnfInfo.scaleStatus is absent - [Documentation] Test ID: 6.3.5.16.2 + [Documentation] Test ID: 6.3.5.16.3 ... Test title: POST Cancel operation task ... Test objective: The objective is to test that POST method cannot cancel a VNF lifecycle operation because the resource is not found ... Pre-conditions: - ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -49,11 +49,11 @@ Post Cancel operation task Not Found Check HTTP Response Status Code Is 404 GET Cancel operation task - Method not implemented - [Documentation] Test ID: 6.3.5.16.3 + [Documentation] Test ID: 6.3.5.16.4 ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -61,11 +61,11 @@ GET Cancel operation task - Method not implemented Check HTTP Response Status Code Is 405 PUT Cancel operation task - Method not implemented - [Documentation] Test ID: 6.3.5.16.3 + [Documentation] Test ID: 6.3.5.16.5 ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -73,11 +73,11 @@ PUT Cancel operation task - Method not implemented Check HTTP Response Status Code Is 405 PATCH Cancel operation task - Method not implemented - [Documentation] Test ID: 6.3.5.16.4 + [Documentation] Test ID: 6.3.5.16.6 ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -85,11 +85,11 @@ PATCH Cancel operation task - Method not implemented Check HTTP Response Status Code Is 405 DELETE Cancel operation task - Method not implemented - [Documentation] Test ID: 6.3.5.16.5 + [Documentation] Test ID: 6.3.5.16.7 ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot index 6db82b4e1bca3b5cf7c776b769a062a4904f2ab8..7e73154a70d1f239db07ff86af81870237c4f43c 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Change external VNF connectivity ... Test title: POST Change external VNF connectivity ... Test objective: The objective is to test that POST method trigger a change in VNF external connectivity ... Pre-conditions: none - ... Reference: clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ GET Change external VNF connectivity - Method not implemented ... Test title: GET Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT Change external VNF connectivity - Method not implemented ... Test title: PUT Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH Change external VNF connectivity - Method not implemented ... Test title: PATCH Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE Change external VNF connectivity - Method not implemented ... Test title: DELETE Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot index d4c3ba81907dcec239b32b12ab988f52e4136f63..a63561402b692069b5585b69279521171e458a55 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Change deployment flavour of a vnfInstance ... Test title: POST Change deployment flavour of a vnfInstance ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour ... Pre-conditions: none - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because of a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Change deployment flavour of a vnfInstance Not Found ... Test title: POST Change deployment flavour of a vnfInstance Not Found ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because the VNF instance resource is not found. ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Change deployment flavour VNFInstance - Method not implemented ... Test title: GET Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PUT Change deployment flavour VNFInstance - Method not implemented ... Test title: PUT Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,10 +75,10 @@ PUT Change deployment flavour VNFInstance - Method not implemented PATCH Change deployment flavour VNFInstance - Method not implemented [Documentation] Test ID: 6.3.5.6.6 - ... Test title: PATCH Cancel operation task - Method not implemented + ... Test title: PATCH Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ DELETE Change deployment flavour VNFInstance - Method not implemented ... Test title: DELETE Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot index 34ec43af9fce5b7c2e93b80fe615f3f454881210..bbd7011d87e9822bd0639991f5b1aff3efde03fa 100644 --- a/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Fail operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Fail operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ POST Fail operation task Not Found ... Test title: POST Fail operation task Not Found ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation because the operation is not supported ... Pre-conditions: - ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -65,7 +65,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -77,7 +77,7 @@ PATCH Fail operation task - Method not implemented ... Test title: PATCH Fail operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -89,7 +89,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not deleted diff --git a/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot b/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot index 35532cfa51dd1b663cd940a4ca6cb9607fb26cf9..b05b9eeea0ad87cf55df878b40529c18ef5b77ec 100644 --- a/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Heal a vnfInstance ... Test title: POST Heal a vnfInstance ... Test objective: The objective is to test that POST method heal a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -27,7 +27,7 @@ POST Heal a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Heal a vnfInstance (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -41,7 +41,7 @@ POST Heal a vnfInstance Not Found ... Test title: POST Heal a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -54,7 +54,7 @@ GET Heal VNFInstance - Method not implemented ... Test title: GET Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -66,7 +66,7 @@ PUT Heal VNFInstance - Method not implemented ... Test title: PUT Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -78,7 +78,7 @@ PATCH Heal VNFInstance - Method not implemented ... Test title: PATCH Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -90,7 +90,7 @@ DELETE Heal VNFInstance - Method not implemented ... Test title: DELETE Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot b/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot index 77ec9c3ddeb67f6fc7b2459af3d92d727c1236df..887c31e3de37ba13e3f7bbf3c64c53aef2891bd2 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -11,7 +11,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the Get individual subscription ... Pre-conditions: none - ... Reference: clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title: DELETE Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 9faeab3c13ddb1016e113693401a32afe52b150c..b4c84b814bb37029c6c049103912aea2e4a5d8b5 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -2,7 +2,7 @@ # Suite setup Expect spec SOL002-VNFLifecycleManagement-API.yaml Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -18,7 +18,7 @@ POST Individual VNFInstance - Method not implemented ... Test title: POST Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -30,21 +30,20 @@ GET Information about an individual VNF Instance ... Test title: GET Information about an individual VNF Instance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: GET individual vnfInstance Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is vnfInstance - SET etag PUT Individual VNFInstance - Method not implemented [Documentation] Test ID: 6.3.5.2.3 ... Test title: PUT Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not modified @@ -56,7 +55,7 @@ PATCH Individual VNFInstance ... Test title: PATCH Individual VNFInstance ... Test objective: This method modifies an individual VNF instance resource ... Pre-conditions: none - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance modified @@ -69,7 +68,7 @@ PATCH Individual VNFInstance Precondition failed ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: 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 - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not modified @@ -80,9 +79,9 @@ PATCH Individual VNFInstance Precondition failed PATCH Individual VNFInstance Conflict [Documentation] Test ID: 6.3.5.2.6 ... Test title: PATCH Individual VNFInstance Conflict - ... Test objective: The objective is to create a new VNF instance resource + ... Test objective: The objective is to verify that modification operation cannot be executed currently, due to a conflict with the state of the VNF instance resource because another LCM Operation is ongoing. ... Pre-conditions: none - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not modified @@ -95,7 +94,7 @@ DELETE Individual VNFInstance ... Test title: DELETE Individual VNFInstance ... Test objective: The objective is to delete a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance deleted @@ -104,10 +103,10 @@ DELETE Individual VNFInstance DELETE Individual VNFInstance Conflict [Documentation] Test ID: 6.3.5.2.8 - ... Test title: DELETE Individual VNFInstance - ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. + ... Test title: DELETE Individual VNFInstance Conflict + ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -136,7 +135,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfToLevelRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} - Integer response status 202 -SET etag - ${etag} Output response headers ETag - Set Suite Variable ${original_etag} ${etag} + Integer response status 202 diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot index 8708a7b31a02401f2008eafab7ee99ad3cbab892..6d7ab224dbee89dee18c33178a6cdfe335c421e4 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ *** Test Cases *** @@ -10,7 +10,7 @@ Post Individual VNF LCM OP occurrences - Method not implemented ... Test title: Post Individual VNF LCM OP occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -22,7 +22,7 @@ Get status information about multiple VNF instances ... Test title: Get status information about multiple VNF instances ... Test objective: The objective is to test that this method retrieve status information about a VNF lifecycle management operation occurrence ... Pre-conditions: none - ... Reference: clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -32,10 +32,10 @@ Get status information about multiple VNF instances PUT status information about multiple VNF instances - Method not implemented [Documentation] Test ID: 6.3.5.12.3 - ... Test title: Put Individual VNF LCM OP occurrences - Method not implemented + ... Test title: PUT status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -44,10 +44,10 @@ PUT status information about multiple VNF instances - Method not implemented PATCH status information about multiple VNF instances - Method not implemented [Documentation] Test ID: 6.3.5.12.4 - ... Test title: Patch Individual VNF LCM OP occurrences - Method not implemented + ... Test title: PATCH status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -56,12 +56,12 @@ PATCH status information about multiple VNF instances - Method not implemented DELETE status information about multiple VNF instances - Method not implemented [Documentation] Test ID: 6.3.5.12.5 - ... Test title: Delete Individual VNF LCM OP occurrences - Method not implemented + ... Test title: DELETE status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none Delete multiple VNF instances - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 diff --git a/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot index ce6550a8a37b2945d4e1c4e90fcd793b8908aedc..d1b1078b7abf162cab678bcdc28fe69b81c3d9aa 100644 --- a/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library OperatingSystem Library JSONLibrary @@ -15,7 +15,7 @@ POST Instantiate a vnfInstance ... Test title: POST Instantiate a vnfInstance ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -28,7 +28,7 @@ POST Instantiate a vnfInstance Conflict ... Test title: POST Instantiate a vnfInstance Conflict ... Test objective: The objective is to verify that the instantiation of the vnf cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -41,7 +41,7 @@ GET Instantiate VNFInstance - Method not implemented ... Test title: GET Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -53,7 +53,7 @@ PUT Instantiate VNFInstance - Method not implemented ... Test title: PUT Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not modified @@ -65,7 +65,7 @@ PATCH Instantiate VNFInstance - Method not implemented ... Test title: PATCH Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not modified @@ -77,7 +77,7 @@ DELETE Instantiate VNFInstance - Method not implemented ... Test title: DELETE Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not deleted diff --git a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot index 3f2d02b75da30147457f6abc38f2c6ddd14fcb61..9dcee284412fcca4439113e7bfc7789a780f3d6b 100644 --- a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF LCM Operation Occurrence Start Notification ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ VNF LCM Operation Occurrence Result Notification ... Test title: VNF LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: clause 6.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot index d8671ea1e5965428789ca5f307e6f3bff923b33a..4e4c12817e002b74be2d22aad547c7c255a480e6 100644 --- a/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Operate a vnfInstance ... Test title: POST Operate a vnfInstance ... Test objective: The objective is to test that POST method operate a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -26,7 +26,7 @@ POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -40,7 +40,7 @@ POST Operate a vnfInstance Not Found ... Test title: POST Operate a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed currently, because the resource is not existing ... Pre-conditions: the VNF instance resource is in not existing - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -53,7 +53,7 @@ GET Operate VNFInstance - Method not implemented ... Test title: GET Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -65,7 +65,7 @@ PUT Operate VNFInstance - Method not implemented ... Test title: PUT Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -77,7 +77,7 @@ PATCH Operate VNFInstance - Method not implemented ... Test title: PATCH Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -89,7 +89,7 @@ DELETE Operate VNFInstance - Method not implemented ... Test title: DELETE Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: diff --git a/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot b/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot index c3b9f73e33b62980f1ce8ecefdb607eeca86e283..3b85e59434fe59ee2ede4619d96d3fe1d3e52f8f 100644 --- a/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -14,7 +14,7 @@ POST Retry operation task ... Test title: POST Retry operation task ... Test objective: The objective is to test that POST method The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ POST Retry operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Retry operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that the retry operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. (i.e. the VNF instance resource is not in FAILED_TEMP state) ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ POST Retry operation task Not Found ... Test title: POST Retry operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.14.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.14.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -67,7 +67,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.14.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.14.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -79,7 +79,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.14.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.14.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -91,7 +91,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.14.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.9.14.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: diff --git a/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot b/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot index a80884512fc3bdf6ebd4e24037d29c5d989738a7..50e8a469ceed5026ddd21877f6545a3673638df4 100644 --- a/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot @@ -1,8 +1,8 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} -Library DependencyLibrary +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ Documentation This task resource represents the "Rollback operation" operation. The client can use this resource to initiate rolling back a VNF lifecycle operation @@ -14,7 +14,7 @@ POST Rollback operation task ... Test title: POST Rollback operation task ... Test objective: The objective is to test that POST method The POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method The POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -67,7 +67,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -79,7 +79,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -91,7 +91,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: diff --git a/SOL002/VNFLifecycleManagement-API/SOL002-VNFLifecycleManagement-API.json b/SOL002/VNFLifecycleManagement-API/SOL002-VNFLifecycleManagement-API.json deleted file mode 100644 index ea5dcd975c89292d564e4b5318f9d448a11e7f24..0000000000000000000000000000000000000000 --- a/SOL002/VNFLifecycleManagement-API/SOL002-VNFLifecycleManagement-API.json +++ /dev/null @@ -1,24199 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL002 - VNF Configuration interface", - "description": "VNF Configuration interface of ETSI NFV SOL002\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=---\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 002 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf" - }, - "basePath": "/vnfconfig/v1", - "schemes": [ - "http", - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/vnf_instances": { - "post": { - "description": "The POST method creates a new VNF instance resource.", - "parameters": [ - { - "name": "createVnfRequest", - "description": "The VNF creation parameters", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "vnfdId" - ], - "properties": { - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Human-readable name of the VNF instance to be created.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance to be created.\n", - "type": "string" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "A VNF Instance identifier was created successfully", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Created\nChallenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "422": { - "description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "The GET method queries information about multiple VNF instances.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nInformation about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "Information about an individual VNF instance was queried successfully.\n", - "responses": { - "200": { - "description": "OK\nInformation about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "patch": { - "description": "This method modifies an individual VNF instance resource. Changes to the VNF configurable properties are applied to the configuration in the VNF instance, and are reflected in the representation of this resource. Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the representation of this resource\n", - "parameters": [ - { - "name": "vnfInfoModifications", - "description": "Input parameters for VNF info modification", - "required": true, - "in": "body", - "schema": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that another LCM operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "This method deletes an individual VNF instance resource.\n", - "responses": { - "204": { - "description": "No Content\nThe VNF instance resource and the associated VNF identifier were deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/instantiate": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method instantiates a VNF instance.\n", - "parameters": [ - { - "name": "InstantiateVnfRequest", - "description": "Parameters for the VNF instantiation.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "flavourId" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about external VLs to connect the VNF to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "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" - } - } - } - }, - "localizationLanguage": { - "description": "Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "200": { - "description": "OK\nInformation about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/scale": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be scaled. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method requests to scale a VNF instance resource incrementally.\n", - "parameters": [ - { - "name": "ScaleVnfRequest", - "description": "Parameters for the scale VNF operation.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "type", - "aspectId" - ], - "properties": { - "type": { - "description": "Indicates the type of the scale operation requested. Permitted values: * SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF instance represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/scale_to_level": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be scaled to a target level. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method requests to scale a VNF instance resource to a target level.\n", - "parameters": [ - { - "name": "ScaleVnfToLevelRequest", - "description": "Parameters for the scale VNF to Level operation.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents request parameters for the \"Scale VNF to Level\" operation.\n", - "type": "object", - "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" - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF instance represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/change_flavour": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "The identifier of the VNF instance of which the deployment flavour is requested to be changed. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method changes the deployment flavour of a VNF instance.\n", - "parameters": [ - { - "name": "ChangeVnfFlavourRequest", - "description": "Parameters for the Change VNF Flavour operation.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents request parameters for the \"Change VNF flavour\" operation.\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.\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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about external VLs to connect the VNF to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "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" - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF instance represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/terminate": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "The identifier of the VNF instance to be terminated. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method terminates a VNF instance.\n", - "parameters": [ - { - "name": "TerminateVnfRequest", - "description": "Parameters for the VNF termination.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "terminationType" - ], - "properties": { - "terminationType": { - "description": "Indicates the type of termination is requested. Permitted values: * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request.\n", - "type": "string", - "enum": [ - "FORCEFUL" - ] - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/heal": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be healed. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method requests to heal a VNF instance resource.\n", - "parameters": [ - { - "name": "HealVnfRequest", - "description": "Parameters for the Heal VNF operation.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "cause": { - "description": "Indicates the reason why a healing procedure is required.\n", - "type": "string" - }, - "vnfcInstanceId": { - "description": "TBD", - "type": "string" - }, - "healScript": { - "description": "TBD", - "type": "string" - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF instance represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/operate": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be operated. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method changes the operational state of a VNF instance resource.\n", - "parameters": [ - { - "name": "OperateVnfRequest", - "description": "Parameters for the Operate VNF operation.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents request parameters for the \"Operate VNF\" operation.\n", - "type": "object", - "required": [ - "changeStateTo" - ], - "properties": { - "changeStateTo": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "stopType": { - "description": "* FORCEFUL: The VNFM will stop the VNF immediately after accepting the request.\n* GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once that operation is successful or once\n the timer value specified in the \"gracefulStopTimeout\" attribute\n expires, the VNFM will stop the VNF.\n", - "type": "string", - "enum": [ - "FORCEFUL", - "GRACEFUL" - ] - }, - "vnfcInstanceId": { - "description": "TBD", - "type": "string" - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF instance represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/change_ext_vls": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance of which the external connectivity is requested to be changed. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "The POST method changes the external connectivity of a VNF instance.\n", - "parameters": [ - { - "name": "ChangeExtVnfConnectivityRequest", - "description": "Parameters for the Change external VNF connectivity operation.\n", - "in": "body", - "required": true, - "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).\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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "onboardedVnfPkgInfoId", - "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" - }, - "onboardedVnfPkgInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "addresses": { - "description": "List of network addresses that have been configured (statically or dynamically) on the CP.\n", - "type": "array", - "items": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification outside the scope of the present document.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource", - "vnfcCpInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "addresses": { - "description": "This type represents information about a network address that has been assigned.\n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "type": "string" - }, - "ipAddress": { - "description": "IP address. Present if an IP address was assigned.\n", - "type": "string" - }, - "subnetIpRanges": { - "description": "IP address ranges defining the subnet in which the IP address was assigned. May be present if the \"ipAddress\" attribute is present, and shall be absent if the \"ipAddress\" attribute is not present.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "minIpAddress", - "maxIpAddress" - ], - "properties": { - "minIpAddress": { - "description": "Lowest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - }, - "maxIpAddress": { - "description": "Highest IP address belonging to the range.\n", - "type": "string", - "format": "ipaddress" - } - } - } - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "networkResource", - "vnfLinkPorts" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPort). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfcInfo": { - "description": "TBD", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "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" - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that another LCM operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs": { - "get": { - "description": "The client can use this method to query status information about multiple VNF lifecycle management operation occurrences.\n", - "responses": { - "200": { - "description": "OK\nStatus information for zero or more VNF lifecycle management operation occurrences was queried successfully. The response body shall contain status information about zero or more VNF lifecycle operation occurrences.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "isCancelPending": { - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: 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. FORCEFUL: 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.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "grant": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "description": "The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an individual \"VNF LCM operation occurrence\" resource.\n", - "responses": { - "200": { - "description": "OK\nInformation about an individual VNF instance was queried successfully. The response body shall contain status information about a VNF lifecycle management operation occurrence.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "isCancelPending": { - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: 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. FORCEFUL: 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.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "grant": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be retried. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state.\n", - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be be rolled back. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state.\n", - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be be marked as \"failed\". This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method marks a VNF lifecycle management operation occurrence as \"finally failed\" if that operation occurrence is in \"FAILED_TEMP\" state.\n", - "responses": { - "200": { - "description": "OK\nThe state of the VNF lifecycle management operation occurrence was changed successfully. The response shall include a representation of the VNF lifecycle operation occurrence resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "isCancelPending": { - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: 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. FORCEFUL: 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.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "grant": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be be cancelled. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related \"VNF LCM operation occurrence\" is either in \"PROCESSING\" or \"ROLLING_BACK\" state.\n", - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF LCM operation occurrence resource. Typically, this is due to the fact that the operation occurrence is not in STARTING, PROCESSING or ROLLING_BACK state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "description": "The POST method creates a new subscription.\n", - "parameters": [ - { - "name": "LccnSubscriptionRequest", - "description": "Details of the subscription to be created.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a subscription request related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "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" - } - } - } - } - } - } - } - } - ], - "responses": { - "201": { - "description": "Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n", - "responses": { - "200": { - "description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "The GET method retrieves information about a subscription by reading an individual subscription resource.\n", - "responses": { - "200": { - "description": "OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "The DELETE method terminates an individual subscription.\n", - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/SOL002-VNFLifecycleManagement-API.yaml b/SOL002/VNFLifecycleManagement-API/SOL002-VNFLifecycleManagement-API.yaml deleted file mode 100644 index 1558df7341d4d88887e9c4b4ae79dcd01f09567f..0000000000000000000000000000000000000000 --- a/SOL002/VNFLifecycleManagement-API/SOL002-VNFLifecycleManagement-API.yaml +++ /dev/null @@ -1,33496 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL002 - VNF Configuration interface - description: > - VNF Configuration interface of ETSI NFV SOL002 - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 002 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf -basePath: /vnfconfig/v1 -schemes: - - http - - https -consumes: - - application/json -produces: - - application/json -paths: - /vnf_instances: - post: - description: The POST method creates a new VNF instance resource. - parameters: - - name: createVnfRequest - description: The VNF creation parameters - in: body - required: true - schema: - type: object - required: - - vnfdId - properties: - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: | - Human-readable name of the VNF instance to be created. - type: string - vnfInstanceDescription: - description: | - Human-readable description of the VNF instance to be created. - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '201': - description: A VNF Instance identifier was created successfully - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Created - - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '422': - description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. NOTE 2: - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: | - The GET method queries information about multiple VNF instances. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - Information about zero or more VNF instances was queried - successfully. The response body shall contain representations of - zero or more VNF instances. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified - with the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This - attribute can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from - the VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from - the VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall - comply with the provisions defined in clause 4 of IETF RFC - 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. - Represents for every scaling aspect how "big" the VNF - has been scaled w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= - maxScaleLevel as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been - configured (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link - port of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource - that is used by a VNF instance. Information - about the resource is available from the - VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource - that is used by a VNF instance. Information - about the resource is available from the - VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, - as defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the - VNFM (e.g. obtained for autoscaling purposes). The - type of the "value" attribute (i.e. scalar, - structure (Object in JSON), or array (of scalars, - arrays or structures/Objects)) is assumed to be - defined in an external measurement specification - outside the scope of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should - be formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the - VNFD, and localization language selection can take place - at instantiation time. The value shall comply with the - format defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item - in the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when - that particular CP of the VNFC instance is - associated to an external CP of the VNF instance. - May be present otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May - be present if the "ipAddress" attribute - is present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of key- value pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource - that is used by a VNF instance. Information - about the resource is available from the - VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of key- value pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used - as storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of key- value pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" - and "vnfInstanceNames" are alternatives to reference to - particular VNF Instances in a filter. They should not be - used both in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" - and "vnfInstanceNames" are alternatives to reference to - particular VNF Instances in a filter. They should not be - used both in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: | - Information about an individual VNF instance was queried successfully. - responses: - '200': - description: > - OK - - Information about zero or more VNF instances was queried - successfully. The response body shall contain representations of - zero or more VNF instances. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - patch: - description: > - This method modifies an individual VNF instance resource. Changes to the - VNF configurable properties are applied to the configuration in the VNF - instance, and are reflected in the representation of this resource. - Other changes are applied to the VNF instance information managed by the - VNFM, and are reflected in the representation of this resource - parameters: - - name: vnfInfoModifications - description: Input parameters for VNF info modification - required: true - in: body - schema: - description: > - This type represents attribute modifications that were performed - on an "Individual VNF instance" resource. The attributes that can - be included consist of those requested to be modified explicitly - in the "VnfInfoModificationRequest" data structure, and additional - attributes of the "VnfInstance" data structure that were modified - implicitly e.g. when modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of certain - entries in the "vimConnectionInfo" attribute array in - "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of this - attribute from the VNFD in the VNF Package identified by the - "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of this - attribute from the VNFD in the VNF Package identified by the - "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that another LCM operation is ongoing. The response body - shall contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - This method deletes an individual VNF instance resource. - responses: - '204': - description: > - No Content - - The VNF instance resource and the associated VNF identifier were - deleted successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in INSTANTIATED state. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/instantiate': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - post: - description: | - The POST method instantiates a VNF instance. - parameters: - - name: InstantiateVnfRequest - description: Parameters for the VNF instantiation. - in: body - required: true - schema: - type: object - required: - - flavourId - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - instantiationLevelId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - extVirtualLinks: - description: | - Information about external VLs to connect the VNF to. - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extManagedVirtualLinks: - description: | - Information about external VLs to connect the VNF to. - type: array - items: - type: object - required: - - id - - virtualLinkDescId - - resourceId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - virtualLinkDescId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - localizationLanguage: - description: > - Localization language of the VNF to be instantiated. The value - shall comply with the format defined in IETF RFC 5646. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '200': - description: > - OK - - Information about zero or more VNF instances was queried - successfully. The response body shall contain representations of - zero or more VNF instances. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in INSTANTIATED state. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/scale': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: | - The POST method requests to scale a VNF instance resource incrementally. - parameters: - - name: ScaleVnfRequest - description: Parameters for the scale VNF operation. - in: body - required: true - schema: - type: object - required: - - type - - aspectId - properties: - type: - description: > - Indicates the type of the scale operation requested. Permitted - values: * SCALE_OUT: adding additional VNFC instances to the - VNF to increase - capacity - * SCALE_IN: removing VNFC instances from the VNF in order to - release - unused capacity. - type: string - enum: - - SCALE_OUT - - SCALE_IN - aspectId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - numberOfSteps: - description: > - Number of scaling steps to be executed as part of this Scale - VNF operation. It shall be a positive number and the default - value shall be 1. - type: integer - default: 1 - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF - instance represented by the parent resource, and that the task - resource consequently does not exist. The "ProblemDetails" structure - may be provided, including in the "detail" attribute information - about the sourceof the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/scale_to_level': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled to a target level. This - identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new VNF instance resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - post: - description: > - The POST method requests to scale a VNF instance resource to a target - level. - parameters: - - name: ScaleVnfToLevelRequest - description: Parameters for the scale VNF to Level operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Scale VNF to - Level" operation. - type: object - properties: - instantiationLevelId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - scaleInfo: - description: > - For each scaling aspect of the current deployment flavour, - indicates the target scale level to which the VNF is to be - scaled. Either the instantiationLevelId attribute or the - scaleInfo attribute shall be included. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall be 0 - and the maximum value shall be <= maxScaleLevel as - described in the VNFD. - type: integer - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF - instance represented by the parent resource, and that the task - resource consequently does not exist. The "ProblemDetails" structure - may be provided, including in the "detail" attribute information - about the sourceof the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/change_flavour': - parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance of which the deployment flavour is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - post: - description: | - The POST method changes the deployment flavour of a VNF instance. - parameters: - - name: ChangeVnfFlavourRequest - description: Parameters for the Change VNF Flavour operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Change VNF - flavour" operation. - type: object - required: - - newFlavourId - properties: - newFlavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - instantiationLevelId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - extVirtualLinks: - description: | - Information about external VLs to connect the VNF to. - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extManagedVirtualLinks: - description: | - Information about external VLs to connect the VNF to. - type: array - items: - type: object - required: - - id - - virtualLinkDescId - - resourceId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - virtualLinkDescId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF - instance represented by the parent resource, and that the task - resource consequently does not exist. The "ProblemDetails" structure - may be provided, including in the "detail" attribute information - about the sourceof the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/terminate': - parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance to be terminated. This identifier - can be retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: | - The POST method terminates a VNF instance. - parameters: - - name: TerminateVnfRequest - description: Parameters for the VNF termination. - in: body - required: true - schema: - type: object - required: - - terminationType - properties: - terminationType: - description: > - Indicates the type of termination is requested. Permitted - values: * FORCEFUL: The VNFM will shut down the VNF and - release the - resources immediately after accepting the request. - type: string - enum: - - FORCEFUL - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/heal': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be healed. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: | - The POST method requests to heal a VNF instance resource. - parameters: - - name: HealVnfRequest - description: Parameters for the Heal VNF operation. - in: body - required: true - schema: - type: object - properties: - cause: - description: | - Indicates the reason why a healing procedure is required. - type: string - vnfcInstanceId: - description: TBD - type: string - healScript: - description: TBD - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF - instance represented by the parent resource, and that the task - resource consequently does not exist. The "ProblemDetails" structure - may be provided, including in the "detail" attribute information - about the sourceof the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/operate': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be operated. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: > - The POST method changes the operational state of a VNF instance - resource. - parameters: - - name: OperateVnfRequest - description: Parameters for the Operate VNF operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Operate VNF" - operation. - type: object - required: - - changeStateTo - properties: - changeStateTo: - type: string - enum: - - STARTED - - STOPPED - stopType: - description: > - * FORCEFUL: The VNFM will stop the VNF immediately after - accepting the - request. - * GRACEFUL: The VNFM will first arrange to take the VNF out of - service - after accepting the request. Once that operation is successful or once - the timer value specified in the "gracefulStopTimeout" attribute - expires, the VNFM will stop the VNF. - type: string - enum: - - FORCEFUL - - GRACEFUL - vnfcInstanceId: - description: TBD - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF - instance represented by the parent resource, and that the task - resource consequently does not exist. The "ProblemDetails" structure - may be provided, including in the "detail" attribute information - about the sourceof the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/change_ext_vls': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance of which the external connectivity is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - post: - description: | - The POST method changes the external connectivity of a VNF instance. - parameters: - - name: ChangeExtVnfConnectivityRequest - description: | - Parameters for the Change external VNF connectivity operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Change external - VNF connectivity" operation to modify the external connectivity of - a VNF instance. - type: object - required: - - extVirtualLinks - properties: - extVirtualLinks: - description: > - Information about external VLs to change (e.g. connect the VNF - to). - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - onboardedVnfPkgInfoId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - addresses: - description: > - List of network addresses that have been configured - (statically or dynamically) on the CP. - type: array - items: - description: > - This type represents information about a network - address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in which - the IP address was assigned. May be present if - the "ipAddress" attribute is present, and - shall be absent if the "ipAddress" attribute - is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification outside the scope - of the present document. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - - vnfcCpInfo - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - addresses: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: | - Assigned MAC address. - type: string - ipAddress: - description: > - IP address. Present if an IP address was - assigned. - type: string - subnetIpRanges: - description: > - IP address ranges defining the subnet in - which the IP address was assigned. May be - present if the "ipAddress" attribute is - present, and shall be absent if the - "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the - range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the - range. - type: string - format: ipaddress - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPort). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfcInfo: - description: TBD - type: string - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that another LCM operation is ongoing. The response body - shall contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /vnf_lcm_op_occs: - get: - description: > - The client can use this method to query status information about - multiple VNF lifecycle management operation occurrences. - responses: - '200': - description: > - OK - - Status information for zero or more VNF lifecycle management - operation occurrences was queried successfully. The response body - shall contain status information about zero or more VNF lifecycle - operation occurrences. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a VNF lifecycle management operation - occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - operationParams - - isCancelPending - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: > - Value | Description ------|------------ STARTING | The LCM - operation is starting. PROCESSING | The LCM operation is - currently in execution. COMPLETED | he LCM operation has been - completed successfully. FAILED_TEMP | The LCM operation has - failed and execution has stopped, but the execution of the - operation is not considered to be closed. FAILED | The LCM - operation has failed and it cannot be retried or rolled back, - as it is determined that such action won't succeed. - ROLLING_BACK | The LCM operation is currently being rolled - back. ROLLED_BACK | The LCM operation has been successfully - rolled back, i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - stateEnteredTime: - description: | - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: | - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - grantId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - operationParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - isCancelPending: - description: > - If the VNF LCM operation occurrence is in "STARTING", - "PROCESSING" or "ROLLING_BACK" state and the operation is - being cancelled, this attribute shall be set to true. - Otherwise, it shall be set to false. - type: boolean - cancelMode: - description: > - Cancellation mode. GRACEFUL: 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. FORCEFUL: 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. - type: string - enum: - - GRACEFUL - - FORCEFUL - error: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so far by - the LCM operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVnfc structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were - affected by the change. Shall be present for those - affected CPs of the VNFC instance that are - associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC - instance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been added. Each value refers to a - VirtualStorageResourceInfo item in the VnfInstance - that was added to the VNFC. It shall be provided if - at least one storage resource was added to the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been removed. The value contains the identifier of a - VirtualStorageResourceInfo item that has been - removed from the VNFC, and might no longer exist in - the VnfInstance. It shall be provided if at least - one storage resource was removed from the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - affectedVirtualLinks: - description: > - Information about VL instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY * - LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary - resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were - affected during the lifecycle operation. This allows the - NFVO to obtain the information contained in the latest - "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVirtualStorage - structure exists as long as the temporary resource - exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - changedInfo: - description: > - This type represents attribute modifications that were - performed on an "Individual VNF instance" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the "VnfInfoModificationRequest" - data structure, and additional attributes of the "VnfInstance" - data structure that were modified implicitly e.g. when - modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of - certain entries in the "vimConnectionInfo" attribute array - in "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the - Or-Vnfm interface. Additional parameters for a VIM may - be configured into the VNFM by means outside the scope - of the present document, and bound to the identifier of - that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and - "accessInfo" attributes, based on the type of the - VIM. The set of permitted values is expected to - change over time as new types or versions of VIMs - become available. The ETSI NFV registry of - VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of - this attribute from the VNFD in the VNF Package identified - by the "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, - this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a - request to modify the "vnfPkgId" attribute, by copying the - value of this attribute from the VNFD in the VNF Package - identified by the "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - changedExtConnectivity: - description: > - Information about changed external connectivity, if - applicable. This allows the NFVO to obtain the information - contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured - subscription filter. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port of - an external VL, i.e. a port providing connectivity for - the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - grant: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - cancel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - retry: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - rollback: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - fail: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence. This - identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a PATCH or POST request - triggering a VNF LCM operation. It can also be retrieved from the - "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - get: - description: > - The client can use this method to retrieve status information about a - VNF lifecycle management operation occurrence by reading an individual - "VNF LCM operation occurrence" resource. - responses: - '200': - description: > - OK - - Information about an individual VNF instance was queried - successfully. The response body shall contain status information - about a VNF lifecycle management operation occurrence. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a VNF lifecycle management operation - occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - operationParams - - isCancelPending - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: > - Value | Description ------|------------ STARTING | The LCM - operation is starting. PROCESSING | The LCM operation is - currently in execution. COMPLETED | he LCM operation has been - completed successfully. FAILED_TEMP | The LCM operation has - failed and execution has stopped, but the execution of the - operation is not considered to be closed. FAILED | The LCM - operation has failed and it cannot be retried or rolled back, - as it is determined that such action won't succeed. - ROLLING_BACK | The LCM operation is currently being rolled - back. ROLLED_BACK | The LCM operation has been successfully - rolled back, i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - stateEnteredTime: - description: | - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: | - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - grantId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - operationParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - isCancelPending: - description: > - If the VNF LCM operation occurrence is in "STARTING", - "PROCESSING" or "ROLLING_BACK" state and the operation is - being cancelled, this attribute shall be set to true. - Otherwise, it shall be set to false. - type: boolean - cancelMode: - description: > - Cancellation mode. GRACEFUL: 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. FORCEFUL: 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. - type: string - enum: - - GRACEFUL - - FORCEFUL - error: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so far by - the LCM operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVnfc structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were - affected by the change. Shall be present for those - affected CPs of the VNFC instance that are - associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC - instance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been added. Each value refers to a - VirtualStorageResourceInfo item in the VnfInstance - that was added to the VNFC. It shall be provided if - at least one storage resource was added to the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been removed. The value contains the identifier of a - VirtualStorageResourceInfo item that has been - removed from the VNFC, and might no longer exist in - the VnfInstance. It shall be provided if at least - one storage resource was removed from the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - affectedVirtualLinks: - description: > - Information about VL instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY * - LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary - resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were - affected during the lifecycle operation. This allows the - NFVO to obtain the information contained in the latest - "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVirtualStorage - structure exists as long as the temporary resource - exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - changedInfo: - description: > - This type represents attribute modifications that were - performed on an "Individual VNF instance" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the "VnfInfoModificationRequest" - data structure, and additional attributes of the "VnfInstance" - data structure that were modified implicitly e.g. when - modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of - certain entries in the "vimConnectionInfo" attribute array - in "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the - Or-Vnfm interface. Additional parameters for a VIM may - be configured into the VNFM by means outside the scope - of the present document, and bound to the identifier of - that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and - "accessInfo" attributes, based on the type of the - VIM. The set of permitted values is expected to - change over time as new types or versions of VIMs - become available. The ETSI NFV registry of - VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of - this attribute from the VNFD in the VNF Package identified - by the "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, - this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a - request to modify the "vnfPkgId" attribute, by copying the - value of this attribute from the VNFD in the VNF Package - identified by the "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - changedExtConnectivity: - description: > - Information about changed external connectivity, if - applicable. This allows the NFVO to obtain the information - contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured - subscription filter. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port of - an external VL, i.e. a port providing connectivity for - the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - grant: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - cancel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - retry: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - rollback: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - fail: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - retried. This identifier can be retrieved from the resource referenced - by the "Location" HTTP header in the response to a PATCH or POST - request triggering a VNF LCM operation. It can also be retrieved from - the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method initiates retrying a VNF lifecycle operation if that - operation has experienced a temporary failure, i.e. the related "VNF LCM - operation occurrence" resource is in "FAILED_TEMP" state. - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but processing has not been - completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is not in FAILED_TEMP state, - or another error handling action is starting, such as rollback or - fail. The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be be - rolled back. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH or - POST request triggering a VNF LCM operation. It can also be retrieved - from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method initiates rolling back a VNF lifecycle operation if that - operation has experienced a temporary failure, i.e. the related "VNF LCM - operation occurrence" resource is in "FAILED_TEMP" state. - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but processing has not been - completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is not in FAILED_TEMP state, - or another error handling action is starting, such as rollback or - fail. The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be be - marked as "failed". This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH or - POST request triggering a VNF LCM operation. It can also be retrieved - from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method marks a VNF lifecycle management operation occurrence as - "finally failed" if that operation occurrence is in "FAILED_TEMP" state. - responses: - '200': - description: > - OK - - The state of the VNF lifecycle management operation occurrence was - changed successfully. The response shall include a representation of - the VNF lifecycle operation occurrence resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a VNF lifecycle management operation - occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - operationParams - - isCancelPending - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: > - Value | Description ------|------------ STARTING | The LCM - operation is starting. PROCESSING | The LCM operation is - currently in execution. COMPLETED | he LCM operation has been - completed successfully. FAILED_TEMP | The LCM operation has - failed and execution has stopped, but the execution of the - operation is not considered to be closed. FAILED | The LCM - operation has failed and it cannot be retried or rolled back, - as it is determined that such action won't succeed. - ROLLING_BACK | The LCM operation is currently being rolled - back. ROLLED_BACK | The LCM operation has been successfully - rolled back, i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - stateEnteredTime: - description: | - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: | - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - grantId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - operationParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - isCancelPending: - description: > - If the VNF LCM operation occurrence is in "STARTING", - "PROCESSING" or "ROLLING_BACK" state and the operation is - being cancelled, this attribute shall be set to true. - Otherwise, it shall be set to false. - type: boolean - cancelMode: - description: > - Cancellation mode. GRACEFUL: 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. FORCEFUL: 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. - type: string - enum: - - GRACEFUL - - FORCEFUL - error: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so far by - the LCM operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVnfc structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were - affected by the change. Shall be present for those - affected CPs of the VNFC instance that are - associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC - instance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been added. Each value refers to a - VirtualStorageResourceInfo item in the VnfInstance - that was added to the VNFC. It shall be provided if - at least one storage resource was added to the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been removed. The value contains the identifier of a - VirtualStorageResourceInfo item that has been - removed from the VNFC, and might no longer exist in - the VnfInstance. It shall be provided if at least - one storage resource was removed from the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - affectedVirtualLinks: - description: > - Information about VL instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY * - LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary - resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were - affected during the lifecycle operation. This allows the - NFVO to obtain the information contained in the latest - "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVirtualStorage - structure exists as long as the temporary resource - exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - changedInfo: - description: > - This type represents attribute modifications that were - performed on an "Individual VNF instance" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the "VnfInfoModificationRequest" - data structure, and additional attributes of the "VnfInstance" - data structure that were modified implicitly e.g. when - modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of - certain entries in the "vimConnectionInfo" attribute array - in "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the - Or-Vnfm interface. Additional parameters for a VIM may - be configured into the VNFM by means outside the scope - of the present document, and bound to the identifier of - that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and - "accessInfo" attributes, based on the type of the - VIM. The set of permitted values is expected to - change over time as new types or versions of VIMs - become available. The ETSI NFV registry of - VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of - this attribute from the VNFD in the VNF Package identified - by the "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, - this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a - request to modify the "vnfPkgId" attribute, by copying the - value of this attribute from the VNFD in the VNF Package - identified by the "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - changedExtConnectivity: - description: > - Information about changed external connectivity, if - applicable. This allows the NFVO to obtain the information - contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured - subscription filter. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port of - an external VL, i.e. a port providing connectivity for - the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - grant: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - cancel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - retry: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - rollback: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - fail: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is not in FAILED_TEMP state, - or another error handling action is starting, such as rollback or - fail. The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be be - cancelled. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH or - POST request triggering a VNF LCM operation. It can also be retrieved - from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method initiates cancelling an ongoing VNF lifecycle operation - while it is being executed or rolled back, i.e. the related "VNF LCM - operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but processing has not been - completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF LCM operation occurrence resource. Typically, - this is due to the fact that the operation occurrence is not in - STARTING, PROCESSING or ROLLING_BACK state. The response body shall - contain a ProblemDetails structure, in which the "detail" attribute - shall convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /subscriptions: - post: - description: | - The POST method creates a new subscription. - parameters: - - name: LccnSubscriptionRequest - description: | - Details of the subscription to be created. - in: body - required: true - schema: - description: > - This type represents a subscription request related to - notifications about VNF lifecycle changes. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '201': - description: > - Created - - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. The - HTTP response shall include a "Location" HTTP header that points to - the created subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - The GET method queries the list of active subscriptions of the - functional block that invokes the method. It can be used e.g. for - resynchronization after error situations. - responses: - '200': - description: > - OK - - The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters. The response body - shall contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: > - The GET method retrieves information about a subscription by reading an - individual subscription resource. - responses: - '200': - description: > - OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - The DELETE method terminates an individual subscription. - responses: - '204': - description: > - No Content - - The subscription resource was deleted successfully. The response - body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot index b4d9451ab1f8a7ddb003ebf179bb3ced62b1bf67..b5fac239a12513a55f0eb2be063dea9d414ee0dc 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot @@ -1,8 +1,8 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} -Library OperatingSystem +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ Suite Setup Check resource existence @@ -13,7 +13,7 @@ POST Scale a vnfInstance ... Test title: POST Scale a vnfInstance ... Test objective: The objective is to scale a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -26,7 +26,7 @@ POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -40,7 +40,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -53,7 +53,7 @@ GET Scale VNFInstance - Method not implemented ... Test title: GET Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -65,7 +65,7 @@ PUT Scale VNFInstance - Method not implemented ... Test title: PUT Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -77,7 +77,7 @@ PATCH Scale VNFInstance - Method not implemented ... Test title: PATCH Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -89,7 +89,7 @@ DELETE Scale VNFInstance - Method not implemented ... Test title: DELETE Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 4bfaec14756d0560fea167d36fcac789490e6d7a..2964f98273bb414d094c727a38a27efdfa67d358 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST Scale a vnfInstance to level ... Test title: POST Scale a vnfInstance to level ... Test objective: The objective is to scale a VNF instance to a target level. ... Pre-conditions: none - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -26,7 +26,7 @@ POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -38,14 +38,14 @@ POST Scale a vnfInstance to level Conflict (Not-Instantiated) POST Scale a vnfInstance Not Found [Documentation] Test ID: 6.3.5.5.3 ... Test title: POST Scale a vnfInstance Not Found - ... Test objective: The objective is to verify that the operation cannot be executed , because the VNF instance resource cannot be found. + ... Test objective: The objective is to verify that the VNF Scale operation fails when the VNF instance resource is not present ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: POST Scale vnfInstance to level - Check HTTP Response Status Code Is 409 + Check HTTP Response Status Code Is 404 Check HTTP Response Body Json Schema Is ProblemDetails @@ -54,7 +54,7 @@ GET Scale to level VNFInstance - Method not implemented ... Test title: GET Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -66,7 +66,7 @@ PUT Scale to level VNFInstance - Method not implemented ... Test title: PUT Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -78,7 +78,7 @@ PATCH Scale to level VNFInstance - Method not implemented ... Test title: PATCH Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -90,7 +90,7 @@ DELETE Scale to level VNFInstance - Method not implemented ... Test title: DELETE Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -126,4 +126,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} - Integer response status 202 \ No newline at end of file + Integer response status 202 diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index d36fd9da2d6b909a20a40084da751b478614fc2d..14c92a2ce8fe7893604ee22d590f28b1cefc16b3 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,24 +12,23 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The POST method creates a new subscription ... Pre-conditions: none - ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null - ... POST Cancel operation task Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription + POST Create a new Subscription - DUPLICATION [Documentation] Test ID: 6.3.5.17.2 ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE - ... Applicability: none + ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null - ... POST Cancel operation task Post Create subscription - DUPLICATION Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription @@ -39,11 +38,10 @@ POST Create a new Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE - ... Applicability: none + ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null - ... POST Cancel operation task Post Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id @@ -53,7 +51,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,9 +62,9 @@ GET Subscriptions GET Subscription - Filter [Documentation] Test ID: 6.3.5.17.5 ... Test title: GET Subscriptions - Filter - ... Test objective: The objective is Get the list of active subscriptions using a filter + ... Test objective: The objective is Get the list of active subscriptions using a "filter" ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -79,7 +77,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -91,7 +89,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions with all_fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -104,7 +102,7 @@ GET subscriptions with exclude_default attribute selector ... Test title: GET subscriptions with exclude_default attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -117,7 +115,7 @@ GET subscriptions with fields attribute selector ... Test title: GET subscriptions with fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -130,7 +128,7 @@ GET subscriptions with exclude_fields attribute selector ... Test title: GET subscriptions with exclude_fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -143,7 +141,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.18.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -155,7 +153,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.18.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -167,10 +165,11 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: check that resources are not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 + Check Subscription resource exist \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot index 44898b35533a38ff71b218a46da1fcb22d9e7935..96c9eb0e5d276408fbae612fba9f23f335faf48c 100644 --- a/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Terminate a vnfInstance ... Test title: POST Terminate a vnfInstance ... Test objective: The objective is to test that POST method terminate a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -26,7 +26,7 @@ POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: @@ -40,7 +40,7 @@ GET Terminate VNFInstance - Method not implemented ... Test title: GET Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Terminate VNFInstance - Method not implemented ... Test title: PUT Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Terminate VNFInstance - Method not implemented ... Test title: PATCH Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Terminate VNFInstance - Method not implemented ... Test title: DELETE Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/VNFInstances.robot b/SOL002/VNFLifecycleManagement-API/VNFInstances.robot index 03bb02c6b17d50664d088458e598fd435520e120..4307c4fee3ecac39df3bcb17c522c2c507aab1d4 100644 --- a/SOL002/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL002/VNFLifecycleManagement-API/VNFInstances.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST Create a new vnfInstance ... Test title: POST Create a new vnfInstance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: - ... Reference: clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance created @@ -25,7 +25,7 @@ GET information about multiple VNF instances ... Test title: GET information about multiple VNF instances ... Test objective: The objective is to get information about multiples VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -39,7 +39,7 @@ GET information about multiple VNF instances Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF instances with Invalid attribute-based filtering parameters ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -52,7 +52,7 @@ GET information about multiple VNF instances Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF instances with Invalid attribute-based filtering parameters ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -65,7 +65,7 @@ GET information about multiple VNF instances with "all_fields" attribute selecto ... Test title: GET information about multiple VNF instances with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -78,7 +78,7 @@ GET information about multiple VNF instances with "exclude_default" attribute se ... Test title: GET information about multiple VNF instances with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -91,7 +91,7 @@ GET information about multiple VNF instances with "fields" attribute selector ... Test title: GET information about multiple VNF instances with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -104,7 +104,7 @@ GET information about multiple VNF instances with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF instances with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -117,7 +117,7 @@ PUT VNFInstances - Method not implemented ... Test title: PUT VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -129,7 +129,7 @@ PATCH VNFInstances - Method not implemented ... Test title: PATCH VNFInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -141,7 +141,7 @@ DELETE VNFInstances - Method not implemented ... Test title: DELETE VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: VNF instance not deleted diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot deleted file mode 100644 index 7cfa316baaa39acd71d993c884ce01755fe2e21c..0000000000000000000000000000000000000000 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ /dev/null @@ -1,1065 +0,0 @@ -*** Settings *** -#Resource environment/configuration.txt -Resource environment/variables.txt -#Resource environment/scaleVariables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} -Library OperatingSystem -Library BuiltIn -Library JSONLibrary -Library Collections -Library JSONSchemaLibrary schemas/ - -*** Keywords *** - -Get Vnf Instance - [Arguments] ${vnfInstanceId} - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} - ${body}= Output response body - [Return] ${body} - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} - Log Status code validated - -Check Operation Occurrence Id - ${vnfLcmOpOccId}= Get Value From Json ${response.headers} $..Location - Should Not Be Empty ${vnfLcmOpOccId} - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} - Log Json Schema Validation OK - -Check resource Instantiated - Check VNF Instance ${vnfInstanceId} - Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} INSTANTIATED - -Check resource not Instantiated - Check VNF Instance ${vnfInstanceId} - Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} NOT_INSTANTIATED - -Check VNF Instance - [Arguments] ${vnfId} - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${response}= Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfId} - -Check VNF Status - [Arguments] ${current} ${expected} - Should Be Equal As Strings ${current} ${expected} - Log VNF Status in the correct status - -Check resource has a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} - String response body instantiationState FAILED_TEMP - -Get Vnf Scale Info - [Arguments] ${vnfInstanceId} - ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} - ${scaleInfo}= Get Value From Json ${vnfInstance} $..scaleStatus - [Return] ${scaleInfo} - -Get Vnf Flavour Info - [Arguments] ${vnfInstanceId} - ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} - ${flavourInfo}= Get Value From Json ${vnfInstance} $..flavourId - [Return] ${flavourInfo} - -Get Vnf Operational State Info - [Arguments] ${vnfInstanceId} - ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} - ${stateInfo}= Get Value From Json ${vnfInstance} $..vnfState - [Return] ${stateInfo} - -Get Vnf Ext Link Id - [Arguments] ${vnfInstanceId} - ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} - [Return] ${vnfInstance.instantiatedVnfInfo.extVirtualLinkInfo.id} - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response.headers} ${CONTENT_TYPE} - Log Header is present - -Send VNF Scale Out Request - Log Trying to scale a vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfOutRequest.json - ${json}= evaluate json.loads('''${body}''') json - ${aspectId}= Set Variable ${json.aspectId} - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} - -Send VNF Scale To Level Request - [Documentation] Instantiate VNF The POST method instantiates a VNF instance. - Log Trying to Instantiate a vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfToLevelRequest.json - ${json}= evaluate json.loads('''${body}''') json - ${aspectId}= Set Variable ${json.aspectId} - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} - -Send VNF Instance Resource Create Request - Log Create VNF instance by POST to ${apiRoot}/${apiName}/${apiVersion}/vnf_instances - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/createVnfRequest.json - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${body} - -Send VNF Instance Resource Delete Request - log Delete an individual VNF instance - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${response}= Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} - -Send Change VNF Flavour Request - Log Trying to change the deployment flavour of a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/changeVnfFlavourRequest.json - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} - -Send Change VNF Operational State Request - Log Trying to change the operational state of a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/operateVnfRequest.json - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${body} - -Send Heal VNF Request - Log Trying to heal a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/healVnfRequest.json - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${body} - -Send Change Ext Connectivity Request - Log Trying to change the external connectivity of a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/changeExtVnfConnectivityRequest.json - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} - -Send Terminate VNF Request - Log Trying to terminate a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/terminateVnfRequest.json - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} - -Send Info Modification Request - Log Trying to update information of a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/patchBodyRequest.json - ${response}= Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${body} - -Send Retry Operation Request - Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry - -Send Roll back Operation Request - Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback - -Send Fail Operation Request - Log Fail a VNF lifecycle operation if that operation has experienced a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail - -Send Cancel Operation Request - Log Cancel an ongoing VNF lifecycle operation - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${response}= Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} - -Create a new Grant - Synchronous mode - [Arguments] ${vnfInstanceId} ${vnfLcmOpOccId} ${operation} - Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants - Pass Execution If ${SYNC_MODE} == 0 The Granting process is asynchronous mode. Skipping the test - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/grantRequest.json - ${json_body}= evaluate json.loads('''${body}''') json - Set To Dictionary ${json_body} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} operation=${operation} - ${body}= evaluate json.dumps(${json_body}) json - Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body} - Integer response status 201 - Log Status code validated - ${headers}= Output response headers - Should Contain ${headers} Location - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE} - ${result}= Output response body - Validate Json grant.schema.json ${result} - Log Validation OK - -Create a new Grant - Asynchronous mode - [Arguments] ${vnfInstanceId} ${vnfLcmOpOccId} ${operation} - Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants - Pass Execution If ${SYNC_MODE} == 1 The Granting process is synchronous mode. Skipping the test - Set Headers {"Accept": "${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body}= Get File jsons/grantRequest.json - ${json_body}= evaluate json.loads('''${body}''') json - Set To Dictionary ${json_body} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} operation=${operation} - ${body}= evaluate json.dumps(${json_body}) json - Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body} - Output response - Integer response status 202 - Log Status code validated - ${headers}= Output response headers - Should Contain ${headers} Location - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE} - Log Validation OK - -POST Cancel operation task - Log Cancel an ongoing VNF lifecycle operation - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Cancel a VNF lifecycle operation - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} - Log Validate Status code - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET Cancel operation task - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Cancel operation task - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Cancel operation task - Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Cancel operation task - Log Trying to perform a DELETE. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST Change External VNF Connectivity - Log Trying to change the external connectivity of a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/changeExtVnfConnectivityRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET Change External VNF Connectivity - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Change External VNF Connectivity - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Change External VNF Connectivity - Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Change External VNF Connectivity - Log Trying to perform a DELETE. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST Change VNF deployment flavour - Log Trying to change the deployment flavour of a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/changeVnfFlavourRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -GET Change External VNF Flavour - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Change External VNF Connectivity - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Change External VNF Connectivity - Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Change External VNF Connectivity - Log Trying to perform a DELETE. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST Create a new vnfInstance - Log Create VNF instance by POST to /vnf_instances - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/createVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET multiple vnfInstances - Log Query VNF The GET method queries information about multiple VNF instances. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET multiple vnfInstances with bad attribute - Log Query VNF The GET method queries information about multiple VNF instances. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET multiple vnfInstances with bad filter - Log Query VNF The GET method queries information about multiple VNF instances. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT VNFInstances - Method not implemented - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances - Log Validate Status code - Integer response status 405 - -PATCH VNFInstances - Method not implemented - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances - Log Validate Status code - Integer response status 405 - -DELETE VNFInstances - Method not implemented - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances - Log Validate Status code - Integer response status 405 - -POST vnfInstances - log Trying to perform a POST. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET individual vnfInstance - log Trying to get information about an individual VNF instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT individual vnfInstance - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH individual vnfInstance - log Trying to modify an individual VNF instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} - Set Headers {"If-Match": "${original_etag}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/patchBodyRequest.json - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -DELETE individual vnfInstance - log Trying to delete an individual VNF instance - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST instantiate individual vnfInstance - Log Trying to Instantiate a vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/instantiateVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET instantiate individual vnfInstance - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT instantiate individual vnfInstance - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH instantiate individual vnfInstance - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE instantiate individual vnfInstance - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -POST Scale vnfInstance - [Arguments] ${instanceId} - Log Trying to Instantiate a vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${instanceId}/scale ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -GET Scale vnfInstance - Log Trying to get a scale a vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -PUT Scale vnfInstance - Log Trying to modify a scale vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfRequest.json - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -PATCH Scale vnfInstance - Log Trying to modify a scale vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfRequest.json - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -DELETE Scale vnfInstance - Log Trying to modify a scale vnf Instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfRequest.json - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -POST Scale vnfInstance to level - Log Trying to scale a vnf Instance to level - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/scaleVnfToLevelRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -GET Scale vnfInstance to level - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Scale vnfInstance to level - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Scale vnfInstance to level - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Scale vnfInstance to level - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST Terminate VNF - Log Trying to terminate a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/terminateVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET Terminate VNF - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Terminate VNF - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Terminate VNF - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Terminate VNF - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST Terminate VNF - Log Trying to heal a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/healVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET Heal VNF - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Heal VNF - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Heal VNF - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Heal VNF - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -POST Operate VNF - Log Trying to operate a VNF instance. - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/operateVnfRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -GET Heal VNF - log Trying to perform a GET. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PUT Heal VNF - log Trying to perform a PUT. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -PATCH Heal VNF - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -DELETE Heal VNF - log Trying to perform a PATCH. This method should not be implemented - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} - -Post VNF LCM OP occurrences - log Trying to perform a POST. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -GET VNF LCM OP occurrences - Log Query status information about multiple VNF lifecycle management operation occurrences. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -GET VNF LCM OP occurrences invalid attribute - Log Query status information about multiple VNF lifecycle management operation occurrences. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?attribute_not_exist=some_value - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -GET VNF LCM OP occurrences invalid filter - Log Query status information about multiple VNF lifecycle management operation occurrences. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?fields=wrong_field - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -PUT VNF LCM OP occurrences - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -PATCH VNF LCM OP occurrences - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -DELETE VNF LCM OP occurrences - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Individual VNF LCM OP occurrences - log Trying to perform a POST. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get multiple VNF instances - Log Query status information about multiple VNF lifecycle management operation occurrences. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Put multiple VNF instances - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Patch multiple VNF instances - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Delete multiple VNF instances - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Retry operation - Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get Retry operation - Log Trying to perform a GET. This method should not be implemented. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Put Retry operation - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Patch Retry operation - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Delete Retry operation - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Rollback operation - Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get Rollback operation - Log Trying to perform a GET. This method should not be implemented. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Put Rollback operation - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Patch Rollback operation - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Delete Rollback operation - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Fail operation - Log mark as Failed a VNF lifecycle operation if that operation has experienced a temporary failure - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get Fail operation - Log Trying to perform a GET. This method should not be implemented. - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Put Fail operation - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Patch Fail operation - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Delete Fail operation - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Create subscription - Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${body}= Get File jsons/lccnSubscriptionRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Create subscription - DUPLICATION - Log Trying to create a subscription with an already created content - Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test - Set Headers {"Accept": "${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body}= Get File jsons/lccnSubscriptionRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Create subscription - NO-DUPLICATION - Log Trying to create a subscription with an already created content - Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test - Set Headers {"Accept": "${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body}= Get File jsons/lccnSubscriptionRequest.json - Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get subscriptions - Log Get the list of active subscriptions - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Log Execute Query and validate response - Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get subscriptions - filter - Log Get the list of active subscriptions using a filter - Set Headers {"Accept": "${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get subscriptions - invalid filter - Log Get the list of active subscriptions using an invalid filter - Set Headers {"Accept": "${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -PUT subscriptions - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -PATCH subscriptions - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -DELETE subscriptions - log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Post Create Individual subscription - log Trying to perform a POST. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Get Individual subscription - log Trying to get information about an individual subscription - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Put Individual subscription - log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Patch Individual subscription - log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Delete Individual subscription - log Try to delete an individual subscription - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Put Notification subscription - log Trying to perform a PUT. This method should not be implemented - Put ${callback_endpoint} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Patch Notification subscription - log Trying to perform a PATCH. This method should not be implemented - Patch ${callback_endpoint} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -Delete Notification subscription - log Trying to perform a DELETE. This method should not be implemented - Delete ${callback_endpoint} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} -POST Operation occurrence - log The POST method delivers a notification from the server to the client. - ${json}= Get File schemas/NsLcmOperationOccurrenceNotification.schema.json - ${BODY}= evaluate json.loads('''${json}''') json - Log Creating mock request and response to handle NSLcmOperationOccurrenceNotification - &{req}= Create Mock Request Matcher POST ${callback_endpoint} body_type="JSON_SCHEMA" body=${BODY} - &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 - Create Mock Expectation ${req} ${rsp} - Sleep ${sleep_interval} - Log Verifying results - Verify Mock Expectation ${req} - Log Cleaning the endpoint - Clear Requests ${callback_endpoint} -POST Id creation - log The POST method delivers a notification from the server to the client. - ${json}= Get File schemas/vnfIdentifierCreationNotification.schema.json - ${BODY}= evaluate json.loads('''${json}''') json - Log Creating mock request and response to handle vnfLcmOperationOccurrenceNotification - &{req}= Create Mock Request Matcher POST ${callback_endpoint} body_type="JSON_SCHEMA" body=${BODY} - &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 - Create Mock Expectation ${req} ${rsp} - Sleep ${sleep_interval} - Log Verifying results - Verify Mock Expectation ${req} - Log Cleaning the endpoint - Clear Requests ${callback_endpoint} -POST Id deletion - log The POST method delivers a notification from the server to the client. - ${json}= Get File schemas/vnfIdentifierCreationNotification.schema.json - ${BODY}= evaluate json.loads('''${json}''') json - Log Creating mock request and response to handle vnfLcmOperationOccurrenceNotification - &{req}= Create Mock Request Matcher POST ${callback_endpoint} body_type="JSON_SCHEMA" body=${BODY} - &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 - Create Mock Expectation ${req} ${rsp} - Sleep ${sleep_interval} - Log Verifying results - Verify Mock Expectation ${req} - Log Cleaning the endpoint - Clear Requests ${callback_endpoint} -GET test endpoint - log The GET method allows the server to test the notification endpoint - &{req}= Create Mock Request Matcher GET ${callback_endpoint} - &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 - Create Mock Expectation ${req} ${rsp} - Sleep ${sleep_interval} - Verify Mock Expectation ${req} - Clear Requests ${callback_endpoint} \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot index d0737e0c0d3ea006e14eaa9faa54edfecb3599c3..6daa361da77b6ba5a3bda2e5559571a071bf80c3 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot @@ -3,7 +3,7 @@ Resource environment/variables.txt #Resource environment/scaleVariables.txt Library MockServerLibrary -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library JSONLibrary @@ -23,28 +23,28 @@ Get Vnf Instance Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check Operation Occurrence Id - ${vnfLcmOpOccId}= Get Value From Json ${response.headers} $..Location + ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${vnfLcmOpOccId} Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + Validate Json ${schema} ${response['body']} Log Json Schema Validation OK Check resource Instantiated Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} INSTANTIATED + Check VNF Status ${response['body']['instantiationState']} INSTANTIATED Check resource not Instantiated Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} NOT_INSTANTIATED + Check VNF Status ${response['body']['instantiationState']} NOT_INSTANTIATED Check VNF Instance [Arguments] ${vnfId} @@ -70,7 +70,7 @@ Check operation resource state is FINALLY_FAILED Check HTTP Response Header Contains [Arguments] ${CONTENT_TYPE} - Should Contain ${response.headers} ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} Log Header is present POST Create a new vnfInstance @@ -81,7 +81,7 @@ POST Create a new vnfInstance ${body}= Get File jsons/createVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances Log Query VNF The GET method queries information about multiple VNF instances. @@ -90,7 +90,7 @@ GET multiple vnfInstances Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with bad attribute Log Query VNF The GET method queries information about multiple VNF instances. @@ -99,7 +99,7 @@ GET multiple vnfInstances with bad attribute Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with bad filter Log Query VNF The GET method queries information about multiple VNF instances. @@ -108,7 +108,7 @@ GET multiple vnfInstances with bad filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?fields=wrong_field ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with all_fields attribute selector Log Query status information about multiple VNF instances, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -144,21 +144,21 @@ PUT multiple vnfInstances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH multiple vnfInstances Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE multiple vnfInstances Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST individual vnfInstance log Trying to perform a POST. This method should not be implemented @@ -167,7 +167,7 @@ POST individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET individual vnfInstance log Trying to get information about an individual VNF instance @@ -176,7 +176,7 @@ GET individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT individual vnfInstance log Trying to perform a PUT. This method should not be implemented @@ -185,7 +185,7 @@ PUT individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH individual vnfInstance log Trying to modify an individual VNF instance @@ -196,13 +196,13 @@ PATCH individual vnfInstance ${body}= Get File jsons/patchBodyRequest.json Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE individual vnfInstance log Trying to delete an individual VNF instance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST instantiate individual vnfInstance Log Trying to Instantiate a vnf Instance @@ -212,35 +212,35 @@ POST instantiate individual vnfInstance ${body}= Get File jsons/instantiateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance Log Trying to Instantiate a vnf Instance @@ -250,7 +250,7 @@ POST Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Scale vnfInstance Log Trying to get a scale a vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -259,7 +259,7 @@ GET Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -268,7 +268,7 @@ PUT Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -277,7 +277,7 @@ PATCH Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -286,7 +286,7 @@ DELETE Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance to level Log Trying to scale a vnf Instance to level @@ -296,34 +296,34 @@ POST Scale vnfInstance to level ${body}= Get File jsons/scaleVnfToLevelRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Scale vnfInstance to level log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Scale vnfInstance to level log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Scale vnfInstance to level log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Scale vnfInstance to level log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Change VNF deployment flavour Log Trying to change the deployment flavour of a VNF instance. @@ -333,34 +333,34 @@ POST Change VNF deployment flavour ${body}= Get File jsons/changeVnfFlavourRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Change VNF deployment flavour log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Change VNF deployment flavour log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Change VNF deployment flavour Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Change VNF deployment flavour Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Terminate VNF Log Trying to terminate a VNF instance. @@ -370,35 +370,35 @@ POST Terminate VNF ${body}= Get File jsons/terminateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Terminate VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Terminate VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Terminate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Terminate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Heal VNF Log Trying to heal a VNF instance. @@ -408,35 +408,35 @@ POST Heal VNF ${body}= Get File jsons/healVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Heal VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Heal VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Heal VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Heal VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Change External VNF Connectivity Log Trying to change the external connectivity of a VNF instance. @@ -446,35 +446,35 @@ POST Change External VNF Connectivity ${body}= Get File jsons/changeExtVnfConnectivityRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Change External VNF Connectivity log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Change External VNF Connectivity log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Change External VNF Connectivity Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Change External VNF Connectivity Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Operate VNF Log Trying to operate a VNF instance. @@ -484,35 +484,35 @@ POST Operate VNF ${body}= Get File jsons/operateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Operate VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Operate VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Operate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Operate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post VNF LCM OP occurrences log Trying to perform a POST. This method should not be implemented @@ -520,7 +520,7 @@ Post VNF LCM OP occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET VNF LCM OP occurrences Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} @@ -528,49 +528,49 @@ GET VNF LCM OP occurrences Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET VNF LCM OP occurrences invalid attribute Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?attribute_not_exist=some_value ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET VNF LCM OP occurrences invalid filter Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?fields=wrong_field ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT VNF LCM OP occurrences log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH VNF LCM OP occurrences log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE VNF LCM OP occurrences log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Individual VNF LCM OP occurrences log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Retry operation Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure @@ -578,7 +578,7 @@ Post Retry operation Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Retry operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} @@ -586,35 +586,35 @@ Get Retry operation Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Retry operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Retry operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Retry operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Rollback operation Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Rollback operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} @@ -622,35 +622,35 @@ Get Rollback operation Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Rollback operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Rollback operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Rollback operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Fail operation Log mark as Failed a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Fail operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} @@ -658,28 +658,28 @@ Get Fail operation Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Fail operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Fail operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Fail operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Cancel operation task Log Cancel an ongoing VNF lifecycle operation @@ -688,35 +688,35 @@ POST Cancel operation task Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} Log Validate Status code ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Cancel operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Cancel operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Cancel operation task Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Cancel operation task Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -726,7 +726,7 @@ Post Create subscription ${body}= Get File jsons/lccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test @@ -736,7 +736,7 @@ Post Create subscription - DUPLICATION ${body}= Get File jsons/lccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test @@ -746,7 +746,7 @@ Post Create subscription - NO-DUPLICATION ${body}= Get File jsons/lccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions Log Get the list of active subscriptions Set Headers {"Accept":"${ACCEPT}"} @@ -755,7 +755,7 @@ Get subscriptions Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - filter Log Get the list of active subscriptions using a filter Set Headers {"Accept": "${ACCEPT}"} @@ -763,14 +763,14 @@ Get subscriptions - filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - invalid filter Log Get the list of active subscriptions using an invalid filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -806,7 +806,7 @@ PUT subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH subscriptions log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -814,7 +814,7 @@ PATCH subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE subscriptions log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -822,7 +822,7 @@ DELETE subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create Individual subscription log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -830,14 +830,14 @@ Post Create Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Individual subscription log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Individual subscription log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -845,7 +845,7 @@ Put Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Individual subscription log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -853,29 +853,29 @@ Patch Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Individual subscription log Try to delete an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Notification subscription log Trying to perform a PUT. This method should not be implemented Put ${callback_endpoint} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Notification subscription log Trying to perform a PATCH. This method should not be implemented Patch ${callback_endpoint} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Notification subscription log Trying to perform a DELETE. This method should not be implemented Delete ${callback_endpoint} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Operation occurrence log The POST method delivers a notification from the server to the client. ${json}= Get File schemas/NsLcmOperationOccurrenceNotification.schema.json @@ -922,4 +922,44 @@ GET test endpoint Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Verify Mock Expectation ${req} - Clear Requests ${callback_endpoint} \ No newline at end of file + Clear Requests ${callback_endpoint} +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +Check Subscription resource exist + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + Integer response status 200 + +Get VNF LCM Operation occurrences with all_fields attribute selector + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?all_fields + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Get VNF LCM Operation occurrences with exclude_default attribute selector + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get VNF LCM Operation occurrences with fields attribute selector + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get VNF LCM Operation occurrences with exclude_fields attribute selector + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index c9af09e7925b3de2ed13b16fbf7a88a9c9b92948..441bb3cf3059a5b720b65a6e4ae4d7212400caef 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Documentation This resource represents VNF lifecycle management operation occurrences. The client can use this resource to query @@ -13,7 +13,7 @@ POST VNF LCM operation occurrences - Method not implemented ... Test title: POST VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET status information about multiple VNF LCM operation occurrences ... Test title: GET status information about multiple VNF LCM operation occurrences ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET status information about multiple VNF LCM operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM operation occurrences Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET status information about multiple VNF LCM Operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM Operation occurrences Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test title: GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET status information about multiple VNF LCM Operation OCC with "exlude_default ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET status information about multiple VNF LCM Operation OCC with "fields" ... Test title: GET status information about multiple VNF LCM Operation OCC with "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET status information about multiple VNF LCM Operation OCC with "exclude_fields ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -112,11 +112,11 @@ GET status information about multiple VNF LCM Operation OCC with "exclude_fields Check HTTP Response Body Json Schema Is VnfLcmOpOccs PUT status information about multiple VNF LCM operation occurrences - Method not implemented - [Documentation] Test ID: 6.3.5.11.5 + [Documentation] Test ID: 6.3.5.11.9 ... Test title: PUT status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -124,11 +124,11 @@ PUT status information about multiple VNF LCM operation occurrences - Method not Check HTTP Response Status Code Is 405 PATCH status information about multiple VNF LCM operation occurrences - Method not implemented - [Documentation] Test ID: 6.3.5.11.6 + [Documentation] Test ID: 6.3.5.11.10 ... Test title: PATCH status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -136,13 +136,39 @@ PATCH status information about multiple VNF LCM operation occurrences - Method n Check HTTP Response Status Code Is 405 DELETE status information about multiple VNF LCM operation occurrences - Method not implemented - [Documentation] Test ID: 6.3.5.11.7 + [Documentation] Test ID: 6.3.5.11.11 ... Test title: DELETE status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none DELETE VNF LCM OP occurrences - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +GET status information about multiple VNF LCM operation occurances to get Paged Response + [Documentation] Test ID: 6.3.5.11.12 + ... Test title: GET status information about multiple VNF LCM operation occurances to get Paged Response + ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences to get paged response. + ... Pre-conditions: none + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET VNF LCM OP occurrences + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET status information about multiple VNF LCM Operation occurrences Bad Request Response too big + [Documentation] Test ID: 6.3.5.11.13 + ... Test title: GET status information about multiple VNF LCM Operation occurrences Bad Request Response too big + ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because Response is too big. + ... Pre-conditions: none + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET VNF LCM OP occurrences + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/environment/variables.txt b/SOL002/VNFLifecycleManagement-API/environment/variables.txt index 9e28c8cfcfbd7d1a091347dfeba169726ad5b702..af716e9c41b6901ab91a74617d4335608c927e7d 100644 --- a/SOL002/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL002/VNFLifecycleManagement-API/environment/variables.txt @@ -57,3 +57,6 @@ ${response}= httpresponse ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +${fields} + +${original_etag} some_etag \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/jsons/createVnfRequest.json b/SOL002/VNFLifecycleManagement-API/jsons/createVnfRequest.json index 8a1fda3bc9b3d3fbd109f0f6cec38711ec20395c..290151ae0de5286745c29b9a12df050a9b3ce9f9 100644 --- a/SOL002/VNFLifecycleManagement-API/jsons/createVnfRequest.json +++ b/SOL002/VNFLifecycleManagement-API/jsons/createVnfRequest.json @@ -1,5 +1,6 @@ { "vnfdId": "6fc3539c-e602-4afa-8e13-962fb5a7d81f", "vnfInstanceName": "string", - "vnfInstanceDescription": "string" + "vnfInstanceDescription": "string", + "metadata":{} } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json b/SOL002/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json index 3c9f8437d2a350bf4fb1fb5d217b16f2c0c4decd..bb96e19ddce87e266b427158183da85a62c43861 100644 --- a/SOL002/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json +++ b/SOL002/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json @@ -73,5 +73,6 @@ } ], "localizationLanguage": "English", + "extensions": {}, "additionalParams": {} } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL002/VNFLifecycleManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json index 552b1e46c701b4c762834699f7054158408fd26b..4fd68f8537d5fa1ef144cfd7f20ed3582bb1c79e 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json @@ -1,6 +1,6 @@ { + "description": "This type represents a VNF instance.\n", "type": "object", - "description": "This type represents a VNF instance.", "required": [ "id", "vnfdId", @@ -8,109 +8,73 @@ "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", - "vnfPkgId", + "vnfPkgInfoId", "instantiationState" ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfInstanceName": { - "type": "string", - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n" + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" }, "vnfInstanceDescription": { - "type": "string", - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n" + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" }, "vnfdId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfProvider": { - "type": "string", - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n" + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" }, "vnfProductName": { - "type": "string", - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n" + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" }, "vnfSoftwareVersion": { - "type": "string", - "description": "A Version.\n" + "description": "A version.\n", + "type": "string" }, "vnfdVersion": { - "type": "string", - "description": "A Version.\n" + "description": "A version.\n", + "type": "string" }, - "vnfPkgId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "vnfPkgInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfConfigurableProperties": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "vimConnectionInfo": { - "type": "array", - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "items": { - "type": "object", - "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", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimType": { - "type": "string", - "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" - }, - "interfaceInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "accessInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "extra": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" - ], - "description": "The instantiation state of the VNF.\n" + ] }, "instantiatedVnfInfo": { - "type": "object", "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" + "vnfState", + "extCpInfo" ], "properties": { "flavourId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "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", @@ -118,76 +82,75 @@ ] }, "scaleStatus": { - "type": "array", "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", + "type": "array", "items": { - "type": "object", "required": [ "aspectId", "scaleLevel" ], + "type": "object", "properties": { "aspectId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "scaleLevel": { - "type": "integer", - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n" + "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": { - "type": "array", "description": "Information about the external CPs exposed by the VNF instance.\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" + "cpdId", + "cpProtocolInfo" ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "cpdId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "cpProtocolInfo": { - "type": "array", "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", + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" - ], - "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" + ] }, "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", "type": "object", - "description": "This type represents information about a network address that has been assigned. \n", - "required": [ - "macAddress" - ], "properties": { "macAddress": { - "type": "string", "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", "format": "MAC" }, "ipAddresses": { - "type": "array", "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -195,49 +158,49 @@ ], "properties": { "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" - ], - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n" + ] }, "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", - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } }, "isDynamic": { - "type": "boolean", - "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" + "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": { - "type": "object", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } }, "subnetId": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } @@ -249,15 +212,27 @@ } }, "extLinkPortId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "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 with the intention of being globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } } } }, "extVirtualLinkInfo": { - "type": "array", "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -266,79 +241,79 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "array", "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", - "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", "required": [ "id", "resourceHandle" ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" } } } @@ -347,8 +322,8 @@ } }, "extManagedVirtualLinkInfo": { - "type": "array", "description": "External virtual links the VNF instance is connected to.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -357,42 +332,42 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfVirtualLinkDescId": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "networkResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "array", "description": "Link ports of this VL.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -401,38 +376,46 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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.\n", "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } } } @@ -441,45 +424,40 @@ } }, "monitoringParameters": { - "type": "array", "description": "Active monitoring parameters.\n", + "type": "array", "items": { "type": "object", "required": [ "id", - "value", - "timeStamp" + "performanceMetric" ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "name": { - "type": "string", - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n" + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" }, - "value": { - "type": "object", - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n" - }, - "timeStamp": { - "type": "string", - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n" + "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": { - "type": "string", - "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" + "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": { - "type": "array", "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", "items": { - "type": "object", "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", @@ -487,54 +465,54 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "vduId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "computeResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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" } } }, "storageResourceIds": { - "type": "array", "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" } }, "reservationId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfcCpInfo": { - "type": "array", "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -543,48 +521,45 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "cpdId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "vnfExtCpId": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "cpProtocolInfo": { - "type": "array", "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", + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" - ], - "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" + ] }, "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", "type": "object", - "description": "This type represents information about a network address that has been assigned. \n", - "required": [ - "macAddress" - ], "properties": { "macAddress": { - "type": "string", "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", "format": "MAC" }, "ipAddresses": { - "type": "array", "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -592,49 +567,49 @@ ], "properties": { "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" - ], - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n" + ] }, "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", - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } }, "isDynamic": { - "type": "boolean", - "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" + "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": { - "type": "object", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } }, "subnetId": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } @@ -646,25 +621,29 @@ } }, "vnfLinkPortId": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "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" } } } }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "array", "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "type": "array", "items": { - "type": "object", "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", @@ -672,46 +651,46 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "vnfVirtualLinkDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "networkResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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" } } }, "reservationId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfLinkPorts": { - "type": "array", "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": [ @@ -720,55 +699,63 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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.\n", "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } } } }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "array", "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", "items": { - "type": "object", "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", @@ -776,46 +763,46 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "virtualStorageDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "storageResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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" } } }, "reservationId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" } } } @@ -823,157 +810,147 @@ } }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "object", "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json index 7b380ec3f8455d763e0800414a1a423ae77d2150..ca8a733e86c488c6b78a9b0588ee6a1fef2c7c19 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json @@ -1,8 +1,8 @@ { "type:" : "array", "items": { + "description": "This type represents a VNF instance.\n", "type": "object", - "description": "This type represents a VNF instance.", "required": [ "id", "vnfdId", @@ -10,109 +10,73 @@ "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", - "vnfPkgId", + "vnfPkgInfoId", "instantiationState" ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfInstanceName": { - "type": "string", - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n" + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" }, "vnfInstanceDescription": { - "type": "string", - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n" + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" }, "vnfdId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfProvider": { - "type": "string", - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n" + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" }, "vnfProductName": { - "type": "string", - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n" + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" }, "vnfSoftwareVersion": { - "type": "string", - "description": "A Version.\n" + "description": "A version.\n", + "type": "string" }, "vnfdVersion": { - "type": "string", - "description": "A Version.\n" + "description": "A version.\n", + "type": "string" }, - "vnfPkgId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "vnfPkgInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfConfigurableProperties": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "vimConnectionInfo": { - "type": "array", - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "items": { - "type": "object", - "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", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimType": { - "type": "string", - "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" - }, - "interfaceInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "accessInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "extra": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" - ], - "description": "The instantiation state of the VNF.\n" + ] }, "instantiatedVnfInfo": { - "type": "object", "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" + "vnfState", + "extCpInfo" ], "properties": { "flavourId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "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", @@ -120,76 +84,75 @@ ] }, "scaleStatus": { - "type": "array", "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", + "type": "array", "items": { - "type": "object", "required": [ "aspectId", "scaleLevel" ], + "type": "object", "properties": { "aspectId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "scaleLevel": { - "type": "integer", - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n" + "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": { - "type": "array", "description": "Information about the external CPs exposed by the VNF instance.\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" + "cpdId", + "cpProtocolInfo" ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "cpdId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "cpProtocolInfo": { - "type": "array", "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", + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" - ], - "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" + ] }, "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", "type": "object", - "description": "This type represents information about a network address that has been assigned. \n", - "required": [ - "macAddress" - ], "properties": { "macAddress": { - "type": "string", "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", "format": "MAC" }, "ipAddresses": { - "type": "array", "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -197,49 +160,49 @@ ], "properties": { "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" - ], - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n" + ] }, "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", - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } }, "isDynamic": { - "type": "boolean", - "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" + "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": { - "type": "object", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } }, "subnetId": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } @@ -251,15 +214,27 @@ } }, "extLinkPortId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "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 with the intention of being globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } } } }, "extVirtualLinkInfo": { - "type": "array", "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -268,79 +243,79 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "array", "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", - "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", "required": [ "id", "resourceHandle" ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" } } } @@ -349,8 +324,8 @@ } }, "extManagedVirtualLinkInfo": { - "type": "array", "description": "External virtual links the VNF instance is connected to.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -359,42 +334,42 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfVirtualLinkDescId": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "networkResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "array", "description": "Link ports of this VL.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -403,38 +378,46 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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.\n", "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } } } @@ -443,45 +426,40 @@ } }, "monitoringParameters": { - "type": "array", "description": "Active monitoring parameters.\n", + "type": "array", "items": { "type": "object", "required": [ "id", - "value", - "timeStamp" + "performanceMetric" ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "name": { - "type": "string", - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n" + "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", + "type": "string" }, - "value": { - "type": "object", - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n" - }, - "timeStamp": { - "type": "string", - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n" + "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": { - "type": "string", - "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" + "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": { - "type": "array", "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", + "type": "array", "items": { - "type": "object", "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", @@ -489,54 +467,54 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "vduId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "computeResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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" } } }, "storageResourceIds": { - "type": "array", "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" } }, "reservationId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfcCpInfo": { - "type": "array", "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -545,48 +523,45 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "cpdId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "vnfExtCpId": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "cpProtocolInfo": { - "type": "array", "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", + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" - ], - "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" + ] }, "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", "type": "object", - "description": "This type represents information about a network address that has been assigned. \n", - "required": [ - "macAddress" - ], "properties": { "macAddress": { - "type": "string", "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", "format": "MAC" }, "ipAddresses": { - "type": "array", "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", "items": { "type": "object", "required": [ @@ -594,49 +569,49 @@ ], "properties": { "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" - ], - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n" + ] }, "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", - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } }, "isDynamic": { - "type": "boolean", - "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" + "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": { - "type": "object", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "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", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } }, "subnetId": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", "format": "IP" } } @@ -648,25 +623,29 @@ } }, "vnfLinkPortId": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "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" } } } }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "array", "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "type": "array", "items": { - "type": "object", "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", @@ -674,46 +653,46 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "vnfVirtualLinkDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "networkResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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" } } }, "reservationId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "vnfLinkPorts": { - "type": "array", "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": [ @@ -722,55 +701,63 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "resourceHandle": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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.\n", "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } } } }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "array", "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", + "type": "array", "items": { - "type": "object", "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", @@ -778,46 +765,46 @@ ], "properties": { "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" }, "virtualStorageDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" }, "storageResource": { - "type": "object", - "description": "This type represents 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", "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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" } } }, "reservationId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" } } } @@ -825,157 +812,147 @@ } }, "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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": { - "type": "object", "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "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", - "description": "This type represents a link to a resource.\n", "required": [ "href" ], "properties": { "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" } } } diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json index b512b22ca821ee839d25593b8892ee8073f57f93..5558c94a4067fa85ea6a52c96dc2b36af74520f3 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json @@ -1,630 +1,580 @@ { - "type": "object", - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "operationState": { - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ], - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n" - }, - "stateEnteredTime": { - "type": "string", - "description": "Date-time when the current state was entered.\n", - "format": "date-time" - }, - "startTime": { - "type": "string", - "description": "Date-time of the start of the operation.\n", - "format": "date-time" - }, - "vnfInstanceId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "grantId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "operation": { - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ], - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n" - }, - "isAutomaticInvocation": { - "type": "boolean", - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n" - }, - "operationParams": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "isCancelPending": { - "type": "boolean", - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n" - }, - "cancelMode": { - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ], - "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" - }, - "error": { - "type": "object", - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "properties": { - "type": { - "type": "string", - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "format": "URI" - }, - "title": { - "type": "string", - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n" - }, - "status": { - "type": "integer", - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n" - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem.\n" - }, - "instance": { - "type": "string", - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "format": "URI" - } + "description": "This type represents a VNF lifecycle management operation occurrence.\n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "vnfInstanceId", + "operation", + "isAutomaticInvocation", + "isCancelPending" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "required": [ - "status", - "detail" - ] - }, - "resourceChanges": { - "type": "object", - "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", - "properties": { - "affectedVnfcs": { - "type": "array", - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "items": { - "type": "object", - "description": "This type provides information about added, deleted, modified and temporary VNFCs. \n", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - }, - "vduId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" - }, - "changeType": { - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ], - "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" - }, - "computeResource": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" - } - } - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "affectedVnfcCpIds": { - "type": "array", - "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", - "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - } - }, - "addedStorageResourceIds": { - "type": "array", - "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", - "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - } - }, - "removedStorageResourceIds": { - "type": "array", - "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", - "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - } - } - } - } - }, - "affectedVirtualLinks": { - "type": "array", - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "items": { - "type": "object", - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - }, - "virtualLinkDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" - }, - "changeType": { - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ], - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n" - }, - "networkResource": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" - } - } - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } - }, - "affectedVirtualStorages": { - "type": "array", - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "items": { - "type": "object", - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - }, - "virtualStorageDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" - }, - "changeType": { - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ], - "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" - }, - "storageResource": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" - } - } - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } - } - } - }, - "changedInfo": { - "type": "object", - "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", - "properties": { - "vnfInstanceName": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n" - }, - "vnfInstanceDescription": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n" - }, - "vnfConfigurableProperties": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "extensions": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "vimConnectionInfo": { - "type": "array", - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "items": { - "type": "object", - "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", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimType": { - "type": "string", - "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" - }, - "interfaceInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "accessInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "extra": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } - }, - "vnfPkgId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vnfdId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vnfProvider": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgIdâ€� attribute.\n" - }, - "vnfProductName": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgIdâ€� attribute.\n" - }, - "vnfSoftwareVersion": { - "type": "string", - "description": "A Version.\n" - }, - "vnfdVersion": { - "type": "string", - "description": "A Version.\n" - } - } - }, - "changedExtConnectivity": { - "type": "array", - "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", - "items": { + "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": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO" + ] + }, + "isAutomaticInvocation": { + "description": "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. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications\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": [ - "id", - "resourceHandle" + "status", + "detail" ], "properties": { - "id": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "format": "URI" }, - "resourceHandle": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", + "type": "object", + "properties": { + "affectedVnfcs": { + "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", + "type": "object", + "required": [ + "id", + "vduId", + "changeType", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "computeResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "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" + } + } } } }, - "extLinkPorts": { + "affectedVirtualLinks": { + "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", "type": "array", - "description": "Link ports of this VL.\n", "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs.\n", "type": "object", - "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", "required": [ "id", - "resourceHandle" + "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" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY", + "LINK_PORT_ADDED", + "LINK_PORT_REMOVED" + ] }, - "resourceHandle": { + "networkResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "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" + } + } + } + }, + "affectedVirtualStorages": { + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "changeType", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "storageResource": { "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "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" } } } } } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" - } + }, + "changedInfo": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "type": "object", + "properties": { + "vnfInstanceName": { + "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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 modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" } - }, - "vnfInstance": { + } + }, + "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", - "description": "This type represents a link to a resource.\n", "required": [ - "href" + "id", + "resourceHandle" ], "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + } } } - }, - "grant": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + } + }, + "_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" + } } - } - }, - "cancel": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } - } - }, - "retry": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } - } - }, - "rollback": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } - } - }, - "fail": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } } } } } - } -} \ No newline at end of file + } \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json index 04faf6743c4084f62e9bd6792233f8b15b383b6d..d4e093968de9cd6384acdcacea5cc9475ca80a9d 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json @@ -1,633 +1,583 @@ { "type": "array", "items": { - "type": "object", - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "operationState": { - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ], - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n" - }, - "stateEnteredTime": { - "type": "string", - "description": "Date-time when the current state was entered.\n", - "format": "date-time" - }, - "startTime": { - "type": "string", - "description": "Date-time of the start of the operation.\n", - "format": "date-time" - }, - "vnfInstanceId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "grantId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "operation": { - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ], - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n" - }, - "isAutomaticInvocation": { - "type": "boolean", - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n" - }, - "operationParams": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "isCancelPending": { - "type": "boolean", - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n" - }, - "cancelMode": { - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ], - "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" - }, - "error": { - "type": "object", - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "properties": { - "type": { - "type": "string", - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "format": "URI" - }, - "title": { - "type": "string", - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n" - }, - "status": { - "type": "integer", - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n" - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem.\n" - }, - "instance": { - "type": "string", - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "format": "URI" - } + "description": "This type represents a VNF lifecycle management operation occurrence.\n", + "type": "object", + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "vnfInstanceId", + "operation", + "isAutomaticInvocation", + "isCancelPending" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "required": [ - "status", - "detail" - ] - }, - "resourceChanges": { - "type": "object", - "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", - "properties": { - "affectedVnfcs": { - "type": "array", - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "items": { - "type": "object", - "description": "This type provides information about added, deleted, modified and temporary VNFCs. \n", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - }, - "vduId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" - }, - "changeType": { - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ], - "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" - }, - "computeResource": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" - } - } - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "affectedVnfcCpIds": { - "type": "array", - "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", - "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - } - }, - "addedStorageResourceIds": { - "type": "array", - "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", - "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - } - }, - "removedStorageResourceIds": { - "type": "array", - "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", - "items": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - } - } - } - } - }, - "affectedVirtualLinks": { - "type": "array", - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "items": { - "type": "object", - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - }, - "virtualLinkDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" - }, - "changeType": { - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ], - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n" - }, - "networkResource": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" - } - } - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } - }, - "affectedVirtualStorages": { - "type": "array", - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "items": { - "type": "object", - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" - }, - "virtualStorageDescId": { - "type": "string", - "description": "An identifier that is unique within a VNF descriptor.\n" - }, - "changeType": { - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ], - "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" - }, - "storageResource": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" - } - } - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } - } - } - }, - "changedInfo": { - "type": "object", - "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", - "properties": { - "vnfInstanceName": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n" - }, - "vnfInstanceDescription": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n" - }, - "vnfConfigurableProperties": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "metadata": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "extensions": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "vimConnectionInfo": { - "type": "array", - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "items": { - "type": "object", - "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", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vimType": { - "type": "string", - "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" - }, - "interfaceInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "accessInfo": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - }, - "extra": { - "type": "object", - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n" - } - } - } - }, - "vnfPkgId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vnfdId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "vnfProvider": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgIdâ€� attribute.\n" - }, - "vnfProductName": { - "type": "string", - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgIdâ€� attribute.\n" - }, - "vnfSoftwareVersion": { - "type": "string", - "description": "A Version.\n" - }, - "vnfdVersion": { - "type": "string", - "description": "A Version.\n" - } - } - }, - "changedExtConnectivity": { - "type": "array", - "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", - "items": { + "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": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO" + ] + }, + "isAutomaticInvocation": { + "description": "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. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications\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": [ - "id", - "resourceHandle" + "status", + "detail" ], "properties": { - "id": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "format": "URI" }, - "resourceHandle": { - "type": "object", - "description": "This type represents 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", - "required": [ - "vimConnectionId", - "resourceId" - ], - "properties": { - "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" - }, - "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" - }, - "vimLevelResourceType": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", + "type": "object", + "properties": { + "affectedVnfcs": { + "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", + "type": "object", + "required": [ + "id", + "vduId", + "changeType", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "computeResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "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" + } + } } } }, - "extLinkPorts": { + "affectedVirtualLinks": { + "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", "type": "array", - "description": "Link ports of this VL.\n", "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs.\n", "type": "object", - "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", "required": [ "id", - "resourceHandle" + "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" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY", + "LINK_PORT_ADDED", + "LINK_PORT_REMOVED" + ] }, - "resourceHandle": { + "networkResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "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" + } + } + } + }, + "affectedVirtualStorages": { + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "changeType", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "storageResource": { "required": [ "vimConnectionId", "resourceId" ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceProviderId": { - "type": "string", - "description": "An identifier with the intention of being globally unique.\n" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "resourceId": { - "type": "string", - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n" + "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": { - "type": "string", - "description": "Type of the resource in the scope of the VIM or the resource provider.\n" + "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": { - "type": "string", - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n" + "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" } } } } } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" - } + }, + "changedInfo": { + "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", + "type": "object", + "properties": { + "vnfInstanceName": { + "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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 modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" } - }, - "vnfInstance": { + } + }, + "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", - "description": "This type represents a link to a resource.\n", "required": [ - "href" + "id", + "resourceHandle" ], "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + } } } - }, - "grant": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + } + }, + "_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" + } } - } - }, - "cancel": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } - } - }, - "retry": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } - } - }, - "rollback": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } - } - }, - "fail": { - "type": "object", - "description": "This type represents a link to a resource.\n", - "required": [ - "href" - ], - "properties": { - "href": { - "type": "string", - "description": "URI of the referenced resource.\n", - "format": "url" + }, + "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" + } } } } } } } -} } \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..4e36c2637427c993a44ac7e267eb48993e95fbb6 --- /dev/null +++ b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot @@ -0,0 +1,211 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 6.3.2.7.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 6.3.2.7.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 6.3.2.7.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 6.3.2.7.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot index ed06e23a91d5d9069b99bc44726a898483892cde..5c49a39fe0399ae99d1e969b69cd34f2ac770b72 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -11,7 +11,7 @@ GET individual VNF Performance Job ... Test title: Get individual VNF Performance Job ... Test objective: The objective is to test the retrieval of an individual VNF performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET individual VNF Performance Job with invalid resource identifier ... Test title: Get individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual VNF Performance Job ... Test title: Delete Individual VNF Performance Job ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -51,7 +51,7 @@ DELETE Individual VNF Performance Job with invalid resource identifier ... Test title: Delete individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ POST Individual VNF Performance Job - Method not implemented ... Test title: POST Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not created on the VNFM @@ -77,7 +77,7 @@ PUT Individual VNF Performance Job - Method not implemented ... Test title: PUT Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -90,7 +90,7 @@ PATCH Individual VNF Performance Job - Method not implemented ... Test title: PATCH Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation diff --git a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot index a08e14ddb6c42d2f8cdeccb1df4b5df4a79b83ba..9a8f99a2c674618c29cfee19770d6bbec6e72c9c 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual VNF performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not created on the VNFM @@ -49,7 +49,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not modified by the operation @@ -62,7 +62,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not modified by the operation @@ -75,7 +75,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not deleted by the operation diff --git a/SOL002/VNFPerformanceManagement-API/IndividualSubscription.robot b/SOL002/VNFPerformanceManagement-API/IndividualSubscription.robot index a63eae2d4544800079852dcafebc5391c2e9b6b0..39acdca29ea3f3c9803b19fa9e65e96589e80167 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ GET Individual VNF Performance Subscription ... Test title: GET Individual VNF Performance Subscription ... Test objective: The objective is to test the retrieval of individual VNF performance subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Performance Subscription with invalid resource identifier ... Test title: GET Individual VNF Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance subscription fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual VNF Performance Subscription ... Test title: DELETE Individual VNF Performance Subscription ... Test objective: The objective is to test the deletion of an individual VNF performance subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Subscription is not available anymore in the VNFM @@ -52,7 +52,7 @@ DELETE Individual VNF Performance Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance subscription fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ POST Individual VNF Performance Subscription - Method not implemented ... Test title: POST Individual VNF Performance Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Subscription ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 6.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Subscription is not created on the VNFM @@ -77,7 +77,7 @@ PUT Individual VNF Performance Subscription - Method not implemented ... Test title: PUT Individual VNF Performance Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance subscription is not modified by the operation @@ -90,7 +90,7 @@ PATCH Individual VNF Performance Subscription - Method not implemented ... Test title: PATCH Individual VNF Performance Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Performance subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance subscription is not modified by the operation diff --git a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot index 03b1b3beee7b887f25aab9fd1c3bb61b23bbb09c..1a68cdce9f44f0d19583cfa4b1e962ce4316dbbc 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance threshold fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not available anymore in the VNFM @@ -51,7 +51,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Threshold ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not created on the VNFM @@ -76,7 +76,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -89,7 +89,7 @@ PATCH Individual Threshold - Method not implemented ... Test title: PATCH Individual Threshold - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -104,7 +104,7 @@ GET Individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} GET individual VNF Performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint @@ -112,28 +112,28 @@ GET individual VNF Performance Threshold with invalid resource identifier Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Delete request for individual VNF Performance Threshold Log Trying to delete a Threhsold in the VNFM Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Delete request for individual VNF Performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the VNFM with invalid id Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Post request for individual VNF Performance Threshold Log Trying to create new threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/thresholds/${newThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual VNF Performance Threshold Log Trying to PUT threshold @@ -144,7 +144,7 @@ Send Put request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual VNF Performance Threshold Log Trying to PUT threshold @@ -155,7 +155,7 @@ Send Patch request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition VNF Performance Threshold is Unmodified (Implicit) Log Check postconidtion threshold not modified @@ -171,7 +171,7 @@ Check Postcondition VNF Performance Threshold is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${newThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check Postcondition VNF Performance Threshold is Deleted diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index bc6f070f124c8cde93234af6ecf8fbef84f0d01c..577623b1567b0894a798f15b31b59d3d22c15841 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -3,6 +3,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Library OperatingSystem +Library String Resource environment/pmJobs.txt Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false @@ -12,7 +13,7 @@ GET all VNF Performance Monitoring Jobs ... Test title: GET all VNF Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +27,7 @@ GET VNF Performance Monitoring Jobs with attribute-based filter ... Test title: GET all VNF Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +41,7 @@ GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued all_fileds selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +55,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -68,7 +69,7 @@ GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -82,7 +83,7 @@ GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -96,7 +97,7 @@ GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +110,7 @@ GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,7 +123,7 @@ Create new VNF Performance Monitoring Job ... Test title: Create a new VNF Performance Monitoring Job ... Test objective: The objective is to test the creation of a new VNF performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is successfully created on the VNFM @@ -136,7 +137,7 @@ PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -148,7 +149,7 @@ PATCH all VNF Performance Monitoring Jobs - (Method not implemented) ... Test title: PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -160,7 +161,7 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -168,6 +169,33 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition VNF Performance Monitoring Jobs Exist +GET VNF Performance Monitoring Jobs to get Paged Response + [Documentation] Test ID: 6.3.3.1.13 + ... Test title: GET VNF Performance Monitoring Jobs to get Paged Response + ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs to get Paged response. + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all VNF Performance Monitoring Jobs + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Performance Monitoring Jobs for Bad Request Response too big + [Documentation] Test ID: 6.3.3.1.14 + ... Test title: GET VNF Performance Monitoring Jobs for Bad Request Response too big + ... Test objective: The objective is to test that GET method fail retrieving status information about VNF Performance Monitoring when Response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all VNF Performance Monitoring Jobs + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + + *** Keywords *** GET all VNF Performance Monitoring Jobs Log Trying to get all PM Jobs present in the VNFM @@ -324,7 +352,8 @@ Check HTTP Response Body Matches all_fields selector Check HTTP Response Body Matches filter Log Checking that attribute-based filter is matched - #todo + @{words} = Split String ${POS_FILTER} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceIds']} @{words}[1] Check HTTP Response Body Does Not Contain reports Log Checking that field element is missing @@ -334,8 +363,7 @@ Check HTTP Response Body Does Not Contain reports Check HTTP Response Status Code Is [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Status Code Is 40x @@ -353,4 +381,9 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + diff --git a/SOL002/VNFPerformanceManagement-API/Subscriptions.robot b/SOL002/VNFPerformanceManagement-API/Subscriptions.robot index fdd0a684905d534e5f740908fd4191d099086fe1..11c7f53ada2f498c652459316d006e39ffade5ca 100644 --- a/SOL002/VNFPerformanceManagement-API/Subscriptions.robot +++ b/SOL002/VNFPerformanceManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ GET all VNF Performance Subscriptions ... Test title: GET all VNF Performance Subscriptions ... Test objective: The objective is to test the retrieval of all VNF performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET VNF Performance Subscriptions with attribute-based filter ... Test title: GET VNF Performance Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ GET VNF Performance Management Subscriptions with invalid attribute-based filter ... Test title: GET VNF Performance Management Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ GET VNF Performance Subscriptions with invalid resource endpoint ... Test title: GET VNF Performance Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF performance subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,11 +65,11 @@ GET VNF Performance Subscriptions with invalid resource endpoint Check HTTP Response Status Code Is 404 Create new VNF Performance subscription - [Documentation] Test ID 6.3.3.6.5 + [Documentation] Test ID: 6.3.3.6.5 ... Test title: Create new VNF Performance subscription ... Test objective: The objective is to test the creation of a new VNF performance subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance subscription is successfully set and it matches the issued subscription @@ -82,11 +82,11 @@ Create new VNF Performance subscription Create duplicated VNF Performance subscription with VNFM not creating duplicated subscriptions [Tags] no-duplicated-subs - [Documentation] Test ID 6.3.3.6.6 + [Documentation] Test ID: 6.3.3.6.6 ... Test title: Create duplicated VNF Performance subscription with VNFM not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF performance subscription and check that no new subscription is created by the VNFM and a link to the original subscription is returned ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF performance subscription returned is available in the VNFM @@ -98,11 +98,11 @@ Create duplicated VNF Performance subscription with VNFM not creating duplicated Create duplicated VNF Performance subscription with VNFM creating duplicated subscriptions [Tags] duplicated-subs - [Documentation] Test ID 6.3.3.6.7 + [Documentation] Test ID: 6.3.3.6.7 ... Test title: Create duplicated VNF Performance subscription with VNFM creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF performance subscription is successfully set and it matches the issued subscription @@ -113,11 +113,11 @@ Create duplicated VNF Performance subscription with VNFM creating duplicated sub Check Postcondition VNF Performance Subscription Is Set PUT VNF Performance Subscriptions - Method not implemented - [Documentation] Test ID 6.3.3.6.8 + [Documentation] Test ID: 6.3.3.6.8 ... Test title: PUT VNF Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF performance subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -125,11 +125,11 @@ PUT VNF Performance Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 PATCH VNF Performance Subscriptions - Method not implemented - [Documentation] Test ID 6.3.3.6.9 + [Documentation] Test ID: 6.3.3.6.9 ... Test title: PATCH VNF Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF performance subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -137,14 +137,40 @@ PATCH VNF Performance Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 DELETE VNF Performance Subscriptions - Method not implemented - [Documentation] Test ID 6.3.3.6.10 + [Documentation] Test ID: 6.3.3.6.10 ... Test title: DELETE VNF Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF performance subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance subscriptions are not deleted by the failed operation Send Delete Request for VNF Performance Subscriptions Check HTTP Response Status Code Is 405 Check Postcondition VNF Performance Subscriptions Exists + +GET VNF Performance Subscriptions to get Paged Response + [Documentation] Test ID: 6.3.3.6.11 + ... Test title: GET VNF Performance Subscriptions to get Paged Response + ... Test objective: The objective is to test the retrieval of all VNF performance subscriptions to get Paged Response + ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all VNF Performance Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Performance Management Subscriptions for Bad Request Response too big + [Documentation] Test ID: 6.3.3.6.12 + ... Test title: GET VNF Performance Management Subscriptions for Bad Request Response too big + ... Test objective: The objective is to test that the retrieval of VNF performance subscriptions fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get VNF Performance Subscriptions with invalid attribute-based filters + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index fd436b22268c016279834b8828909b96b899d50f..50552ec4f6393fef8355c172c7bd8f2a1b627431 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -2,6 +2,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary +Library String Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource environment/thresholds.txt Library OperatingSystem @@ -12,7 +13,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +26,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +40,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +52,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +65,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -79,7 +80,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNF. - ... Reference: clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +92,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,7 +104,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance thresholds are not deleted by the failed operation @@ -111,6 +112,32 @@ DELETE Performance Thresholds - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition Thresholds Exist +GET Performance Thresholds with Paged Response + [Documentation] Test ID: 6.3.3.4.9 + ... Test title: GET Performance Thresholds with Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds with Paged response + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET Performance Thresholds for Bad Request Response too big + [Documentation] Test ID: 6.3.3.4.10 + ... Test title: GET Performance Thresholds for Bad Request Response too big + ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** GET all Performance Thresholds Log Trying to get all thresholds present in the VNFM @@ -195,12 +222,12 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + @{words} = Split String ${FILTER_OK} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] Check HTTP Response Status Code Is [Arguments] ${expected_status} - ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Header Contains @@ -214,5 +241,10 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + diff --git a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot index 11f17fb7fffa7fd75ad0637e4f750b505d8081b4..f131a7216dabe157583c6bce2608ce869e2626bd 100644 --- a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot +++ b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot @@ -154,7 +154,7 @@ Send Post Request for Duplicated VNF Performance Subscription Send Put Request for VNF Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 4.3.5.4. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${output}= Output response @@ -164,7 +164,7 @@ Send Put Request for VNF Performance Subscriptions Send Patch Request for VNF Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 4.3.5.4. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${output}= Output response @@ -174,7 +174,7 @@ Send Patch Request for VNF Performance Subscriptions Send Delete Request for VNF Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 4.3.5.4. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${output}= Output response @@ -208,13 +208,13 @@ Send Delete request for individual VNF Performance Subscription with invalid res Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Post request for individual VNF Performance Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -223,7 +223,7 @@ Send Put request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -232,7 +232,7 @@ Send Patch request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition VNF Performance Subscription is Unmodified (Implicit) Log Check postconidtion subscription not modified @@ -248,7 +248,7 @@ Check Postcondition VNF Performance Subscription is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check Postcondition VNF Performance Subscription is Deleted @@ -283,8 +283,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - # Should Be Equal As Strings ${response['body']['callbackUri']} ${callbackUri} - #TODO + Should Be Equal As Strings ${response['body'][0]['callbackUri']} ${callbackUri_Sub} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription @@ -347,3 +346,7 @@ Check Notification Endpoint Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt b/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt index 6c80ca057499a74c077810d9de9722499d85c3c8..f1675679ea49b7e4deb60fa76129a081f6390f25 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt @@ -3,3 +3,4 @@ ${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${NEG_FILTER} criteriaPmJob=erroneousAttributeName ${fields} criteria,reports ${response}= httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt b/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt index a450bb1b838870598edd7feee1a936c71c5c59f7..c490457435c0921e84a9db9f27ceab2a016c3a82 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt @@ -1,6 +1,6 @@ *** Variables *** -${callbackUri} http://172.22.1.7:9091/vnfpm/subscriptions -${filter_ok} callbackUri=${callbackUri} +${callbackUri_Sub} http://172.22.1.7:9091/vnfpm/subscriptions +${filter_ok} callbackUri=${callbackUri_Sub} ${filter_ko} erroneousFilter=erroneous ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt index 256e2c90969b038dff04c8f775ff30e45d6aa5fb..b044c053e51e52eb43e06a93fedc37982fc1632c 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt @@ -2,3 +2,4 @@ ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter ${response}= httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/environment/variables.txt b/SOL002/VNFPerformanceManagement-API/environment/variables.txt index 1dc3cec25cdb03376f86d2ed8d7f11deff8e55dd..1b6fb6dbc341eed0b9e5665f7e3a669ecdb26735 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/variables.txt @@ -21,4 +21,6 @@ ${callback_port} 9091 ${callback_endpoint} /endpoint ${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar + +${response} http-response \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/schemas/ApiVersionInformation.schema.json b/SOL002/VNFPerformanceManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL002/VNFPerformanceManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot b/SOL002/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot index 313f71c40d7c7110f0844cffaa07b3ef3589ce1d..bc0e9702f21dbfde91c05a83e9a2f7592634b0a5 100644 --- a/SOL002/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot +++ b/SOL002/VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot @@ -17,7 +17,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of VNF Performance Information Availability Notification when new VNF performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of VNF Threshold Crossed Notification when a previously set VNF performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a threshold subscription is available in the VNFM. - ... Reference: clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/README.md b/SOL003/README.md index 877c4602945f820f1e833389333dced2edc3b541..286f229e65a88b0574b70f2aea22b55f34829e2a 100644 --- a/SOL003/README.md +++ b/SOL003/README.md @@ -2,7 +2,7 @@ This folder includes the NFV API conformance test descriptions for NFV SOL003 APIs. -The reference spec version is v2.4.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_nfv-sol003v020401p.pdf +The reference spec version is v2.6.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.06.01_60/gs_NFV-SOL003v020601p.pdf ## License diff --git a/SOL003/VNFFaultManagement-API/Alarms.robot b/SOL003/VNFFaultManagement-API/Alarms.robot index b6a4095f2263a0aab0a5de63b05876985edc2182..04c5c4bfaacc722085e74728f586e0fa2501b54f 100644 --- a/SOL003/VNFFaultManagement-API/Alarms.robot +++ b/SOL003/VNFFaultManagement-API/Alarms.robot @@ -2,7 +2,7 @@ # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem @@ -14,7 +14,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on VNF ... Pre-conditions: none - ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get information about multiple alarms ... Test title: Get information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure ... Pre-conditions: none - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get information about multiple alarms with filter ... Test title: Get information about multiple alarms with filter ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ Get information about multiple alarms Bad Request Invalid attribute-based filter ... Test title: Get information about multiple alarms Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -78,7 +78,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -91,7 +91,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -104,7 +104,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -117,7 +117,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -125,11 +125,11 @@ PUT Alarms - Method not implemented Check HTTP Response Status Code Is 405 PATCH Alarms - Method not implemented - [Documentation] Test ID: 7.3.5.1.6 + [Documentation] Test ID: 7.3.5.1.10 ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -137,15 +137,40 @@ PATCH Alarms - Method not implemented Check HTTP Response Status Code Is 405 DELETE Alarms - Method not implemented - [Documentation] Test ID: 7.3.5.1.7 + [Documentation] Test ID: 7.3.5.1.11 ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none DELETE Fault management Alarms Check HTTP Response Status Code Is 405 Check Postcondition VNF fault management alarms Exists - \ No newline at end of file + +Get information about multiple alarms as a Paged Response + [Documentation] Test ID: 7.3.5.1.12 + ... Test title: Get information about multiple alarms as a Paged Response + ... Test objective: The objective is to retrieve information about the alarm list as a Paged Response + ... Pre-conditions: none + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Fault Management Alarms + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get information about multiple alarms - Bad Request Response too Big + [Documentation] Test ID: 7.3.5.1.13 + ... Test title: Get information about multiple alarms - Bad Request Response too Big + ... Test objective: The objective is to try to retrieve information about the alarm list because response is too big and perform a JSON schema and content validation of the returned problem details data structure + ... Pre-conditions: none + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Fault Management Alarms + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFFaultManagement-API/ApiVersion.robot b/SOL003/VNFFaultManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..a971df33362d5ca94900f904105348a933021b17 --- /dev/null +++ b/SOL003/VNFFaultManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.5.6.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.5.6.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.5.6.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.5.6.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.5.6.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.5.6.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.5.6.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.5.6.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.5.6.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.5.6.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index fb8d10c4a9f3023aa217f8855e1b081ea5a82fbb..4f18fe1739b52db57a21b8d9d6a8ba8d6571b338 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -1,6 +1,6 @@ *** Settings *** Resource environment/variables.txt -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem @@ -12,8 +12,20 @@ Library Process ${original_etag} 1234 *** Keywords *** +Check created Subscription existence + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} + Integer response status 200 +Check Postcondition FaultManagement Subscription Is Set + Log Check Postcondition subscription exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 Check Operation Occurrence Id - ${opOccId}= Get Value From Json ${response.headers} $..Location + ${opOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${opOccId} Check Postcondition VNF fault management alarms Exists Log Checking that alarms exists @@ -42,33 +54,45 @@ Check Individual Subscription deleted Check HTTP Response Status Code Is [Arguments] ${expected_status} Log Validate Status code - Should Be Equal ${response[0]['status']} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Header Contains [Arguments] ${HEADER_TOCHECK} - Should Contain ${response[0]['headers']} ${HEADER_TOCHECK} + Should Contain ${response['headers']} ${HEADER_TOCHECK} Log Header is present Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + Validate Json ${schema} ${response['body']} Log Json Schema Validation OK Check HTTP Response Header ContentType is [Arguments] ${expected_contentType} Log Validate content type - Should Be Equal ${response[0]['headers']['Content-Type']} ${expected_contentType} + Should Be Equal ${response['headers']['Content-Type']} ${expected_contentType} Log Content Type validated +Check Postcondition Subscription Resource Returned in Location Header Is Available + Log Going to check postcondition + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${response['headers']['Location']} + Integer response status 200 + Log Received a 200 OK as expected + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json FMSubscription.schema.json ${result} + Log Validated FMSubscription schema + Send POST request for fault management Alarms log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Fault management Alarms log Trying to perform a PATCH. This method should not be implemented @@ -76,7 +100,7 @@ PATCH Fault management Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse} = Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Fault management Alarms log Trying to perform a PUT. This method should not be implemented @@ -84,7 +108,7 @@ PUT Fault management Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Fault management Alarms log Trying to perform a DELETE. This method should not be implemented @@ -92,7 +116,7 @@ DELETE Fault management Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Fault Management Alarms Log Query NFVO The GET method queries information about multiple alarms. @@ -101,7 +125,7 @@ GET Fault Management Alarms Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Fault Management Alarms With Filters Log Query NFVO The GET method queries information about multiple alarms with filters. @@ -110,7 +134,7 @@ GET Fault Management Alarms With Filters Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${alarm_filter}=${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Fault Management Alarms With Invalid Filters Log Query NFVO The GET method queries information about multiple alarms with filters. @@ -119,7 +143,7 @@ GET Fault Management Alarms With Invalid Filters Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${invalid_alarm_filter}=${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Task with all_fields attribute selector Log Trying to get all VNF Packages present in the NFVO Catalogue, using fields Pass Execution If ${NFVO_FIELDS} == 0 The NFVO is not able to use fields parameter @@ -158,7 +182,7 @@ Send POST request for fault management Individual Alarm Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Fault Management Individual Alarm log Trying to perform a DELETE. This method should not be implemented @@ -166,7 +190,7 @@ DELETE Fault Management Individual Alarm Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Fault Management Individual Alarm log Trying to perform a PUT. This method should not be implemented @@ -174,7 +198,7 @@ PUT Fault Management Individual Alarm Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Fault Management Individual Alarm Log Query VNF The GET method queries information about an alarm. @@ -186,7 +210,7 @@ GET Fault Management Individual Alarm ${etag} Output response headers ETag Set Suite Variable &{original_etag} ${etag} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Fault Management Individual Alarm with invalid id Log Query NFVO The GET method queries information about an invalid alarm. Should return does not exist @@ -196,7 +220,7 @@ GET Fault Management Individual Alarm with invalid id Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms/${invalidAlarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Fault Management Individual Alarm log Trying to perform a PATCH. This method modifies an individual alarm resource @@ -206,7 +230,7 @@ PATCH Fault Management Individual Alarm ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Fault Management Individual Alarm - precondition failed log Trying to perform a PATCH. This method modifies an individual alarm resource @@ -217,7 +241,7 @@ PATCH Fault Management Individual Alarm - precondition failed ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Fault Management Individual Alarm Conflict log Trying to perform a PATCH. This method modifies an individual alarm resource @@ -228,7 +252,7 @@ PATCH Fault Management Individual Alarm Conflict ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Subscription @@ -239,9 +263,9 @@ POST Subscription ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} -POST Subscription Duplication permitted +Send POST Request for duplicated subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} @@ -250,9 +274,9 @@ POST Subscription Duplication permitted ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} -POST Subscription Duplication not permitted +Send POST Request for duplicated subscription not permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} @@ -261,7 +285,7 @@ POST Subscription Duplication not permitted ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions Log Get the list of active subscriptions @@ -269,7 +293,7 @@ GET Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions with filter Log Get the list of active subscriptions using a filter @@ -277,7 +301,7 @@ GET Subscriptions with filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions with Invalid filter Log Get the list of active subscriptions using an invalid filter @@ -285,7 +309,7 @@ GET Subscriptions with Invalid filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -320,7 +344,7 @@ PUT Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Subscriptions log Trying to perform a PATCH Subscriptions. This method should not be implemented @@ -328,7 +352,7 @@ PATCH Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Subscriptions log Trying to perform a DELETE Subscriptions. This method should not be implemented @@ -336,7 +360,7 @@ DELETE Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Individual Subscription log Trying to perform a POST. This method should not be implemented @@ -344,7 +368,7 @@ POST Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Individual Subscription log Trying to get information about an individual subscription @@ -352,7 +376,7 @@ GET Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Individual Subscription log Trying to perform a PUT. This method should not be implemented @@ -360,7 +384,7 @@ PUT Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Individual Subscription log Trying to perform a PATCH. This method should not be implemented @@ -368,7 +392,7 @@ PATCH Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Individual Subscription log Trying to perform a DELETE. @@ -376,4 +400,84 @@ DELETE Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable ${response} ${outputResponse} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +Get subscriptions with filter "id" + Log Get the list of active subscriptions using a filter "id" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?id=${subscription_id} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${subscription_id} + +Get subscriptions with filter "filter_notificationTypes" + Log Get the list of active subscriptions using a filter "filter.notificationTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.notificationTypes=${notification_type} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + :FOR ${item} IN ${response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${probableCause} + END + +Get subscriptions with filter "filter_faultyResourceTypes" + Log Get the list of active subscriptions using a filter "filter.faultyResourceTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.faultyResourceTypes=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + :FOR ${item} IN ${response['body']} + Should Be Equal As Strings ${item['filter']['faultyResourceTypes']} ${faultyResourceType} + END + +Get subscriptions with filter "filter_perceivedSeverities" + Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + :FOR ${item} IN ${response['body']} + Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} + END + +Get subscriptions with filter "filter_eventTypes" + Log Get the list of active subscriptions using a filter "filter.eventTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.eventTypes=${eventType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + :FOR ${item} IN ${response['body']} + Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} + END + +Get subscriptions with filter "filter_probableCauses" + Log Get the list of active subscriptions using a filter "filter.probableCauses" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" + :FOR ${item} IN ${response['body']} + Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} + END diff --git a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot index af151649823d7e90c8c6abde6cde9482fcb92952..1f9ce5ebf21428bb771ff2e87200e324af79a390 100644 --- a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot @@ -2,7 +2,7 @@ # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -16,7 +16,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ Get information about an fault management individual alarm ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to retrieve information about an individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ PUT Alarm - Method not implemented ... Test title: PUT Alarm - Method not implemented ... Test objective: he objective is to test that PUT method is not allowed to for Fault management individual alarm on VNF ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ PATCH Fault Management Individual Alarm ... Test title: PATCH Fault Management Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ Modify an individual alarm resource - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ Modify an individual alarm resource - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the resource was modified by another entity ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -96,7 +96,7 @@ DELETE Alarm - Method not implemented ... Test title: DELETE Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management individual alarm on VNF ... Pre-conditions: nona - ... Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The individual alarm still exists diff --git a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot index cb0a969676623286adae29033b0247245c211521..06cbdbfe75db63b8377d20ed17be3cf6fff21e93 100644 --- a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot @@ -3,7 +3,7 @@ Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot Library JSONLibrary Library JSONSchemaLibrary schemas/ -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false *** Test Cases *** Post Individual Subscription - Method not implemented @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title: Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is not created @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to test that DELETE method removes individual subscription on VNF ... Pre-conditions: The Subsbcription already exists - ... Reference: clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is not deleted diff --git a/SOL003/VNFFaultManagement-API/SOL003-VNFFaultManagement-API.json b/SOL003/VNFFaultManagement-API/SOL003-VNFFaultManagement-API.json deleted file mode 100644 index c2e83527e6b158748a82eeb0b4556b1557515e3c..0000000000000000000000000000000000000000 --- a/SOL003/VNFFaultManagement-API/SOL003-VNFFaultManagement-API.json +++ /dev/null @@ -1,3321 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL003 - VNF Fault Management interface", - "description": "SOL003 - VNF Fault Management interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 003 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf" - }, - "basePath": "/vnffm/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/alarms": { - "get": { - "description": "Get Alarm List\n\nThe client can use this method to retrieve information about the alarm list.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe request has succeeded. The response body shall contain the list of related alarms.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "$ref": "#/definitions/Alarm" - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/alarms/{alarmId}": { - "parameters": [ - { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "The client can use this method to read an individual alarm.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nInformation about an individual alarm was read successfully. The response body shall contain a representation of the individual alarm.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "$ref": "#/definitions/Alarm" - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "patch": { - "description": "Acknowledge Alarm\n\nThis method modifies an individual alarm resource.\n", - "parameters": [ - { - "name": "AlarmModifications", - "description": "The VNF creation parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/AlarmModifications" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "application/merge-patch+json" - ] - } - ], - "responses": { - "200": { - "description": "OK\nThe request was accepted and completed. The response body shall contain attribute modifications for an ‘Individual alarm’ resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "$ref": "#/definitions/AlarmModifications" - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the \"Individual alarm\" resource. Typically, this is due to the fact that the alarm is already in the state that is requested to be set (such as trying to acknowledge an already-acknowledged alarm). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "description": "Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Createdâ€� response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Otherâ€� response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "FmSubscriptionRequest", - "description": "The VNF creation parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/FmSubscriptionRequest" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location:\" HTTP header that points to the created subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created subscription resource.\n", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "$ref": "#/definitions/FmSubscription" - } - }, - "303": { - "description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query Subscription Information\n\nThe client can use this method to retrieve the list of active subscriptions for VNF alarms subscribed by the client. It can be used e.g. for resynchronization after error situations.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "$ref": "#/definitions/FmSubscription" - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "Query Subscription Information\n\nThe client can use this method for reading an individual subscription for VNF alarms subscribed by the client.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "$ref": "#/definitions/FmSubscription" - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Terminate Subscription\n\nThis method terminates an individual subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - }, - "definitions": { - "Alarm": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "rootCauseFaultyResource", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "AlarmModifications": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - }, - "FmSubscription": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification 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": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match VNF alarms with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "FmSubscriptionRequest": { - "description": "This type represents a subscription request related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF faults. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification 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": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match VNF alarms with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "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" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL003/VNFFaultManagement-API/SOL003-VNFFaultManagement-API.yaml b/SOL003/VNFFaultManagement-API/SOL003-VNFFaultManagement-API.yaml deleted file mode 100644 index b362b74e768554bbf2c8b7f499afc5ac00b8bd56..0000000000000000000000000000000000000000 --- a/SOL003/VNFFaultManagement-API/SOL003-VNFFaultManagement-API.yaml +++ /dev/null @@ -1,5219 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL003 - VNF Fault Management interface - description: > - SOL003 - VNF Fault Management interface - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering - mechanism is defined. This mechanism is currently not included in the - corresponding OpenAPI design for this GS version. Changes to the - attribute-based filtering mechanism are being considered in v2.5.1 of this - GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf -basePath: /vnffm/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -paths: - /alarms: - get: - description: > - Get Alarm List - - - The client can use this method to retrieve information about the alarm - list. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The request has succeeded. The response body shall contain the list - of related alarms. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - schema: - $ref: '#/definitions/Alarm' - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/alarms/{alarmId}': - parameters: - - name: alarmId - description: > - Identifier of the alarm. This identifier can be retrieved from the - "id" attribute of the "alarm" attribute in the AlarmNotification or - AlarmClearedNotification. It can also be retrieved from the "id" - attribute of the applicable array element in the payload body of the - response to a GET request to the "Alarms" resource. - in: path - type: string - required: true - get: - description: | - The client can use this method to read an individual alarm. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - Information about an individual alarm was read successfully. The - response body shall contain a representation of the individual - alarm. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - schema: - $ref: '#/definitions/Alarm' - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - patch: - description: | - Acknowledge Alarm - - This method modifies an individual alarm resource. - parameters: - - name: AlarmModifications - description: The VNF creation parameters - in: body - required: true - schema: - $ref: '#/definitions/AlarmModifications' - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - type: string - enum: - - application/merge-patch+json - responses: - '200': - description: > - OK - - The request was accepted and completed. The response body shall - contain attribute modifications for an ‘Individual alarm’ resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: '#/definitions/AlarmModifications' - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the "Individual alarm" resource. Typically, this is due - to the fact that the alarm is already in the state that is requested - to be set (such as trying to acknowledge an already-acknowledged - alarm). The response body shall contain a ProblemDetails structure, - in which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Subscribe - - - The POST method creates a new subscription. Creation of two subscription - resources with the same callbackURI and the same filter can result in - performance degradation and will provide duplicates of notifications to - the NFVO, and might make sense only in very rare use cases. - Consequently, the VNFM may either allow creating a subscription resource - if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the “201 Created†response - code), or may decide to not create a duplicate subscription resource (in - which case it shall return a “303 See Other†response code referencing - the existing subscription resource with the same filter and - callbackUri). - parameters: - - name: FmSubscriptionRequest - description: The VNF creation parameters - in: body - required: true - schema: - $ref: '#/definitions/FmSubscriptionRequest' - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '201': - description: > - Created - - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. The - HTTP response shall include a "Location:" HTTP header that points to - the created subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - Location: - description: | - The resource URI of the created subscription resource. - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: '#/definitions/FmSubscription' - '303': - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing subscription - resource. The response body shall be empty. - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - - The client can use this method to retrieve the list of active - subscriptions for VNF alarms subscribed by the client. It can be used - e.g. for resynchronization after error situations. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: '#/definitions/FmSubscription' - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: > - Query Subscription Information - - - The client can use this method for reading an individual subscription - for VNF alarms subscribed by the client. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - $ref: '#/definitions/FmSubscription' - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - Terminate Subscription - - This method terminates an individual subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '204': - description: > - No Content - - The subscription resource was deleted successfully. The response - body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI -definitions: - Alarm: - description: | - The alarm data type encapsulates information about an alarm. - type: object - required: - - id - - managedObjectId - - rootCauseFaultyResource - - alarmRaisedTime - - ackState - - perceivedSeverity - - eventTime - - eventType - - probableCause - - isRootCause - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - managedObjectId: - description: | - An identifier with the intention of being globally unique. - type: string - rootCauseFaultyResource: - description: > - This type represents the faulty virtual resources that have a negative - impact on a VNF. - type: object - required: - - faultyResource - - faultyResourceType - properties: - faultyResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows addressing a - virtualised resource that is used by a VNF instance. Information - about the resource is available from the VIM. - properties: - vimConnectionId: - description: | - An identifier with the intention of being globally unique. - type: string - resourceProviderId: - description: | - An identifier with the intention of being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the resource - provider. - type: string - faultyResourceType: - description: > - The enumeration FaultyResourceType represents those types of - faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - alarmRaisedTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - alarmChangedTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - alarmClearedTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - ackState: - description: > - Acknowledgement state of the alarm. Permitted values: * - UNACKNOWLEDGED * ACKNOWLEDGED. - type: string - enum: - - UNACKNOWLEDGED - - ACKNOWLEDGED - perceivedSeverity: - description: > - Indicates the relative level of urgency for operator attention. * - CRITICAL: The Critical severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection of a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates that the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing of one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - eventType: - description: > - The enumeration EventType represents those types of events that - trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is - associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated with a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with degradation in - the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - faultType: - description: | - Additional information to clarify the type of the fault. - type: string - probableCause: - description: | - Information about the probable cause of the fault. - type: string - isRootCause: - description: > - Attribute indicating if this fault is the root for other correlated - alarms. If TRUE, then the alarms listed in the attribute - CorrelatedAlarmId are caused by this fault. - type: boolean - correlatedAlarmIds: - description: | - List of identifiers of other alarms correlated to this fault. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - faultDetails: - description: | - Provides additional information about the fault. - type: array - items: - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - objectInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - AlarmModifications: - description: > - This type represents attribute modifications for an "Individual alarm" - resource, i.e. modifications to a resource representation based on the - "Alarm" data type. The attributes of "Alarm" that can be modified are - included in the "AlarmModifications" data type. - type: object - required: - - ackState - properties: - ackState: - description: > - New value of the "ackState" attribute in "Alarm". Permitted values: * - ACKNOWLEDGED - type: string - enum: - - ACKNOWLEDGED - FmSubscription: - description: > - This type represents a subscription related to notifications about VNF - faults. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to notifications - about VNF faults. At a particular nesting level in the filter - structure, the following applies: All attributes shall match in order - for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match VNF - instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created based on a - VNFD identified by one of the vnfdId values listed in this - attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to reference to - VNF instances that are based on certain VNFDs in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF products - from certain providers. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to reference to - VNF instances that are based on certain VNFDs in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to VNF - products with certain product names, from one particular - provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that belong to VNF - products with certain versions and a certain - product name, from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that belong - to VNF products with certain VNFD versions, - a certain software version and a certain - product name, from one particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names of - the notification types to facilitate automated code generation - systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - faultyResourceTypes: - description: > - Match VNF alarms with a faulty resource type listed in this - attribute. - type: array - items: - description: > - The enumeration FaultyResourceType represents those types of - faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator attention. - * CRITICAL: The Critical severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection of - a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates that - the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing of - one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events that - trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type - is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated with - a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - FmSubscriptionRequest: - description: > - This type represents a subscription request related to notifications about - VNF faults. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to notifications - about VNF faults. At a particular nesting level in the filter - structure, the following applies: All attributes shall match in order - for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match VNF - instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created based on a - VNFD identified by one of the vnfdId values listed in this - attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to reference to - VNF instances that are based on certain VNFDs in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF products - from certain providers. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to reference to - VNF instances that are based on certain VNFDs in a filter. - They should not be used both in the same filter instance, but - one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to VNF - products with certain product names, from one particular - provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that belong to VNF - products with certain versions and a certain - product name, from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that belong - to VNF products with certain VNFD versions, - a certain software version and a certain - product name, from one particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name - listed in this attribute. The attributes "vnfInstanceIds" and - "vnfInstanceNames" are alternatives to reference to particular - VNF Instances in a filter. They should not be used both in the - same filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - AlarmNotification * AlarmClearedNotification * - AlarmListRebuiltNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the names of - the notification types to facilitate automated code generation - systems. - type: array - items: - type: string - enum: - - AlarmNotification - - AlarmClearedNotification - - AlarmListRebuiltNotification - faultyResourceTypes: - description: > - Match VNF alarms with a faulty resource type listed in this - attribute. - type: array - items: - description: > - The enumeration FaultyResourceType represents those types of - faulty resource. - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - perceivedSeverities: - description: > - Match VNF alarms with a perceived severity listed in this - attribute. - type: array - items: - description: > - Indicates the relative level of urgency for operator attention. - * CRITICAL: The Critical severity level indicates that a service - affecting condition has occurred and an immediate corrective action - is required. Such a severity can be reported, for example, when a - managed object becomes totally out of service and its capability needs - to be restored (ITU-T Recommendation X.733). - * MAJOR: The Major severity level indicates that a service - affecting - condition has developed and an urgent corrective action is required. - Such a severity can be reported, for example, when there is a severe - degradation in the capability of the managed object and its full - capability needs to be restored (ITU-T Recommendation X.733). - * MINOR: The Minor severity level indicates the existence of a - non-service affecting fault condition and that corrective action - should be taken in order to prevent a more serious (for example, - service affecting) fault. Such a severity can be reported, for - example, when the detected alarm condition is not currently degrading - the capacity of the managed object (ITU-T Recommendation X.733). - * WARNING: The Warning severity level indicates the detection of - a - potential or impending service affecting fault, before any significant - effects have been felt. Action should be taken to further diagnose (if - necessary) and correct the problem in order to prevent it from - becoming a more serious service affecting fault (ITU-T Recommendation - X.733). - * INDETERMINATE: The Indeterminate severity level indicates that - the - severity level cannot be determined (ITU-T Recommendation X.733). - * CLEARED: The Cleared severity level indicates the clearing of - one or - more previously reported alarms. This alarm clears all alarms for this - managed object that have the same Alarm type, Probable cause and - Specific problems (if given) (ITU-T Recommendation X.733). - type: string - enum: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - INDETERMINATE - - CLEARED - eventTypes: - description: | - Match VNF alarms with an event type listed in this attribute. - type: array - items: - description: > - The enumeration EventType represents those types of events that - trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type - is associated with the - procedure and/or process required conveying information from one point - to another (ITU-T Recommendation X.733). - * PROCESSING_ERROR_ALARM: An alarm of this type is associated - with a - software or processing fault (ITU-T Recommendation X.733). - * ENVIRONMENTAL_ALARM: An alarm of this type is associated with - a - condition related to an enclosure in which the equipment resides - (ITU-T Recommendation X.733). - * QOS_ALARM: An alarm of this type is associated with - degradation in the - quality of a service (ITU-T Recommendation X.733). - * EQUIPMENT_ALARM: An alarm of this type is associated with an - equipment - fault (ITU-T Recommendation X.733). - type: string - enum: - - COMMUNICATIONS_ALARM - - PROCESSING_ERROR_ALARM - - ENVIRONMENTAL_ALARM - - QOS_ALARM - - EQUIPMENT_ALARM - probableCauses: - description: | - Match VNF alarms with a probable cause listed in this attribute. - type: array - items: - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which the API - consumer is willing to accept when receiving a notification. - Permitted values: * BASIC: In every HTTP request to the - notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification endpoint is - sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. Shall be - present if authType is "BASIC" and the contained information has - not been provisioned out of band. Shall be absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. Shall be - present if it has not been provisioned out of band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information has not - been provisioned out of band. Shall be absent otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token request of - the OAuth 2.0 client credentials grant type. Shall be present - if it has not been provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be the same - as the clientId and clientPassword that are used to obtain - authorization for API requests. Client credentials may differ - between subscriptions. The value of clientPassword should be - generated by a random process. - type: string - clientPassword: - description: > - Client password to be used in the access token request of the - OAuth 2.0 client credentials grant type. Shall be present if - it has not been provisioned out of band. The clientId and - clientPassword passed in a subscription shall not be the same - as the clientId and clientPassword that are used to obtain - authorization for API requests. Client credentials may differ - between subscriptions. The value of clientPassword should be - generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index 8b12d1afb896832dac474942e31335fa5911b715..4063c36f44a082b76d756c1697f10232b87f56b9 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -2,7 +2,7 @@ Resource environment/variables.txt Resource FaultManagement-APIKeyword.robot Library DependencyLibrary -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ Create a new Fault Management alarm subscription ... Test title: Create a new Fault Management alarm subscription ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is created @@ -21,6 +21,7 @@ Create a new Fault Management alarm subscription Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription + Check created Subscription existence Create a new alarm subscription - DUPLICATION @@ -28,35 +29,36 @@ Create a new alarm subscription - DUPLICATION ... Test title: Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the VNF allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created - POST Subscription Duplication permitted + Send POST Request for duplicated subscription Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription + Check Postcondition FaultManagement Subscription Is Set Create a new alarm subscription - NO DUPLICATION [Documentation] Test ID: 7.3.5.3.3 ... Test title: Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the VNF not allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created - POST Subscription Duplication not permitted + Send POST Request for duplicated subscription not permitted Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - Check HTTP Response Body Json Schema Is FmSubscription + Check Postcondition Subscription Resource Returned in Location Header Is Available Retrieve a list of alarm subscriptions [Documentation] Test ID: 7.3.5.3.4 ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: noe @@ -69,7 +71,7 @@ Retrieve a list of alarm subscriptions with filter ... Test title: Retrieve a list of alarm subscriptions with filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -82,7 +84,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -95,7 +97,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -108,7 +110,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -121,7 +123,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -134,7 +136,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -147,7 +149,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... RReference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... RReference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -159,7 +161,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -171,9 +173,119 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is not deleted DELETE Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +Retrieve a list of alarm subscriptions as Paged Response + [Documentation] Test ID: 7.3.5.3.14 + ... Test title: Retrieve a list of alarm subscriptions as Paged Response + ... Test objective: The objective is to retrieve the list of active subscriptions as Paged Response. + ... Pre-conditions: none + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: noe + GET Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET subscriptions - Bad Request Response too Big + [Documentation] Test ID: 7.3.5.3.15 + ... Test title: GET subscriptions - Bad Request Response too Big + ... Test objective: The objective is to retrieve the list of active subscriptions because response is too big and perform a JSON schema and content validation of the returned problem details data structure. + ... Pre-conditions: none + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Subscription with attribute-based filter "id" + [Documentation] Test ID: 6.3.4.4.16 + ... Test title: GET Subscription with attribute-based filter "id" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscription + Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + +Get subscriptions with filter "filter.notificationTypes" + [Documentation] Test ID: 6.3.4.4.17 + ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_notificationTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + +Get subscriptions with filter "filter.faultyResourceTypes" + [Documentation] Test ID: 6.3.4.4.18 + ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_faultyResourceTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + +Get subscriptions with filter "filter.perceivedSeverities" + [Documentation] Test ID: 6.3.4.4.19 + ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_perceivedSeverities" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + +Get subscriptions with filter "filter.eventTypes" + [Documentation] Test ID: 6.3.4.4.20 + ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_eventTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + +Get subscriptions with filter "filter.probableCauses" + [Documentation] Test ID: 6.3.4.4.21 + ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" + ... Pre-conditions: + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter_probableCauses" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" diff --git a/SOL003/VNFFaultManagement-API/environment/variables.txt b/SOL003/VNFFaultManagement-API/environment/variables.txt index 28a9c673739dc9c1b0ad77141372705d5fc80489..e28a2d096dd0cbd341c7cb8c201819c251c71b8a 100644 --- a/SOL003/VNFFaultManagement-API/environment/variables.txt +++ b/SOL003/VNFFaultManagement-API/environment/variables.txt @@ -30,6 +30,12 @@ ${apiVersion} v1 ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${notification_type} AlarmNotification +${faultyResourceType} COMPUTE +${eventType} COMMUNICATIONS_ALARM +${perceivedSeverity} CRITICAL +${probableCause} "" + ${AlarmNotification} {} ${AlarmClearedNotification} {} diff --git a/SOL003/VNFFaultManagement-API/schemas/ApiVersionInformation.schema.json b/SOL003/VNFFaultManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VNFFaultManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot b/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot index 26e65d8f6574ea3d81d64eb01b94b3f718f936d7..95a357d1e83e4eb2ad01bba3f58ba37174adfb74 100644 --- a/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot +++ b/SOL003/VNFFaultManagementNotification-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagementNotification-API/SOL003-VNFFaultManagementNotification-API.json b/SOL003/VNFFaultManagementNotification-API/SOL003-VNFFaultManagementNotification-API.json deleted file mode 100644 index 885ca6840983c72ee0ef38df3093099faedba833..0000000000000000000000000000000000000000 --- a/SOL003/VNFFaultManagementNotification-API/SOL003-VNFFaultManagementNotification-API.json +++ /dev/null @@ -1,2496 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL003 - VNF Fault Management Notification interface", - "description": "SOL003 - VNF Fault Management Notification interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 003 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf" - }, - "basePath": "/callback/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification": { - "post": { - "description": "Notify\n\nThe POST method notifies a VNF alarm or that the alarm list has been rebuilt.\n", - "parameters": [ - { - "name": "AlarmNotification", - "description": "Information of a VNF alarm.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents an alarm notification about VNF faults. This notification shall be triggered by the VNFM when: * An alarm has been created. * An alarm has been updated, e.g. if the severity of the alarm has changed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarm", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarm": { - "description": "The alarm data type encapsulates information about an alarm.\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "rootCauseFaultyResource", - "alarmRaisedTime", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. * COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n* PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n* ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n* QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n* EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification was delivered successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification endpoint was tested successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification": { - "post": { - "description": "Notify\n\nThe POST method notifies a VNF alarm or that the alarm list has been rebuilt.\n", - "parameters": [ - { - "name": "AlarmClearedNotification", - "description": "Information of the clearance of a VNF alarm\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents an alarm cleared notification about VNF faults. The notification shall be triggered by the VNFM when an alarm has been cleared.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarmId", - "alarmClearedTime", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmClearedNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmClearedNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "alarmClearedTime": { - "description": "The time stamp indicating when the alarm was cleared.\n" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "alarm" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "alarm": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification was delivered successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification endpoint was tested successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification": { - "post": { - "description": "Notify\n\nThe POST method notifies a VNF alarm or that the alarm list has been rebuilt.\n", - "parameters": [ - { - "name": "AlarmListRebuiltNotification", - "description": "Information that the alarm list has been rebuilt by the VNFM\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a notification that the alarm list has been rebuilt, e.g. if the VNFM detects its storage holding the alarm list is corrupted. The notification shall be triggered by the VNFM when the alarm list has been rebuilt.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmListRebuiltNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmListRebuiltNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "alarms" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "alarms": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification was delivered successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification endpoint was tested successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL003/VNFIndicator-API/ApiVersion.robot b/SOL003/VNFIndicator-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..86dbd9074b64717e06eda6b045f23f607bc7af26 --- /dev/null +++ b/SOL003/VNFIndicator-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.6.7.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.6.7.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.6.7.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.6.7.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.6.7.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.6.7.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.6.7.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.6.7.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.6.7.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.6.7.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VNFIndicator-API/IndividualSubscription.robot b/SOL003/VNFIndicator-API/IndividualSubscription.robot index 03251e04b13a6150fd8d58c41cf8c7d3d0b8a2e0..161a48b875e61282e852c7b57dc631ad809fc2f2 100644 --- a/SOL003/VNFIndicator-API/IndividualSubscription.robot +++ b/SOL003/VNFIndicator-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual VNF Indicator Subscription ... Test title: GET Individual VNF Indicator Subscription ... Test objective: The objective is to test the retrieval of individual VNF indicator subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual VNF Indicator Subscription with invalid resource identifier ... Test title: GET Individual VNF Indicator Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of individual VNF indicator subscription fails when using an invalid resource identifier. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ DELETE Individual VNF Indicator Subscription ... Test title: DELETE Individual VNF Indicator Subscription ... Test objective: The objective is to test the deletion of an individual VNF indicator subscription. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The subscription to VNF indicators is deleted @@ -50,7 +50,7 @@ DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF indicator subscription fails when using an invalid resource identifier. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PUT Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT Individual VNF Indicator Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The individual VNF indicator subscription is not modified by the operation @@ -75,7 +75,7 @@ PATCH Individual VNF Indicator Subscription - Method not implemented ... Test title: PATCH Individual VNF Indicator Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an individual VNF indicator subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The individual VNF indicator subscription is not modified by the operation @@ -88,7 +88,7 @@ POST Individual VNF Indicator Subscription - Method not implemented ... Test title: POST Individual VNF Indicator Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF indicator subscription ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The individual VNF indicator subscription is not created by the operation diff --git a/SOL003/VNFIndicator-API/IndividualVNFindicator.robot b/SOL003/VNFIndicator-API/IndividualVNFindicator.robot index 9f06a85d76978919a4c01f623fad2729f80b94cb..c88c89903220e6df5bab4e40cdeb5e977bc1e41b 100644 --- a/SOL003/VNFIndicator-API/IndividualVNFindicator.robot +++ b/SOL003/VNFIndicator-API/IndividualVNFindicator.robot @@ -11,7 +11,7 @@ Get Individual Indicator for VNF Instance ... Test title: Get Individual Indicator for VNF Instance ... Test objective: The objective is to test the retrieval of an indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM. - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test title: Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of an indicator for a given VNF instance fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM. - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: POST Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF indicator in the VNFM ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: PUT Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM - ... Reference: clause 8.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: PATCH Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available for the given VNF instance. - ... Reference: clause 8.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual VNF Indicator for VNF Instance - Method not implemented ... Test title: DELETE Individual VNF Indicator for VNF Instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing indicator for a VNF instance ... Pre-conditions: A VNF instance is instantiated. At least one measure of VNF indicator is available in the VNFM - ... Reference: clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The individual indicator for the VNF instance is not deleted by the unsuccessful operation diff --git a/SOL003/VNFIndicator-API/SOL003-VNFIndicator-API.json b/SOL003/VNFIndicator-API/SOL003-VNFIndicator-API.json deleted file mode 100644 index eef7ce9cff6fe49257f54fb80a6fe3ecad730cd8..0000000000000000000000000000000000000000 --- a/SOL003/VNFIndicator-API/SOL003-VNFIndicator-API.json +++ /dev/null @@ -1 +0,0 @@ -{"swagger":"2.0","info":{"version":"1.1.1","title":"SOL003 - VNF Indicator interface","description":"SOL003 - VNF Indicator interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n","license":{"name":"ETSI Forge copyright notice","url":"https://forge.etsi.org/etsi-forge-copyright-notice.txt"}},"externalDocs":{"description":"ETSI GS NFV-SOL 003 V2.4.1","url":"http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf"},"basePath":"/vnfind/v1","schemes":["https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/indicators":{"get":{"description":"Get Indicator Value\n\nThe GET method queries multiple VNF indicators.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"200":{"description":"OK\nThe list of VNF indicators was queried successfully. The response body shall contain the representations of all VNF indicators that match the attribute filter.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"type":"array","items":{"description":"This type represents a VNF indicator value.\n","type":"object","required":["id","value","vnfInstanceId","_links"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"name":{"description":"Human readable name of the indicator. Shall be present if defined in the VNFD.\n","type":"string"},"value":{"description":"Provides the value of the indicator. The value format is defined in the VNFD. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n","type":"object"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"_links":{"description":"Links for this resource.\n","type":"object","required":["self","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"400":{"description":"Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string"}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/indicators/{vnfInstanceId}":{"parameters":[{"name":"vnfInstanceId","description":"Identifier of the VNF instance to which the VNF indicator applies. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","in":"path","type":"string","required":true}],"get":{"description":"Get Indicator Value\n\nThe GET method queries multiple VNF indicators related to a VNF instance.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"200":{"description":"OK\nThe list of VNF indicators was queried successfully. The response body shall contain the representations of all VNF indicators that are related to the particular VNF instance and that match the attribute filter.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"type":"array","items":{"description":"This type represents a VNF indicator value.\n","type":"object","required":["id","value","vnfInstanceId","_links"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"name":{"description":"Human readable name of the indicator. Shall be present if defined in the VNFD.\n","type":"string"},"value":{"description":"Provides the value of the indicator. The value format is defined in the VNFD. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n","type":"object"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"_links":{"description":"Links for this resource.\n","type":"object","required":["self","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"400":{"description":"Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string"}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/indicators/{vnfInstanceId}/{indicatorId}":{"parameters":[{"name":"indicatorId","description":"Identifier of the VNF indicator. This identifier can be retrieved from the resource referenced by the payload body in the response to a POST request creating a new VNF instance resource.\n","in":"path","type":"string","required":true},{"name":"vnfInstanceId","description":"Identifier of the VNF instance to which the VNF indicator applies. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","in":"path","type":"string","required":true}],"get":{"description":"Get Indicator Value\n\nThe GET method reads a VNF indicator.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"200":{"description":"OK\nThe VNF indicator was read successfully. The response body shall contain the representation of the VNF indicator.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"This type represents a VNF indicator value.\n","type":"object","required":["id","value","vnfInstanceId","_links"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"name":{"description":"Human readable name of the indicator. Shall be present if defined in the VNFD.\n","type":"string"},"value":{"description":"Provides the value of the indicator. The value format is defined in the VNFD. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n","type":"object"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"_links":{"description":"Links for this resource.\n","type":"object","required":["self","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/subscriptions":{"post":{"description":"Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created†response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other†response code referencing the existing subscription resource with the same filter and callbackUri).\n","parameters":[{"name":"VnfIndicatorSubscriptionRequest","description":"Details of the subscription to be created.","in":"body","required":true,"schema":{"description":"This type represents a subscription request related to VNF indicator value change notifications.\n","type":"object","required":["callbackUri"],"properties":{"filter":{"description":"This type represents a subscription filter related to notifications about VNF indicator value changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"url"},"authentication":{"type":"object","required":["authType"],"properties":{"authType":{"description":"Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n","type":"array","items":{"type":"string","enum":["BASIC","OAUTH2_CLIENT_CREDENTIALS","TLS_CERT"]}},"paramsBasic":{"description":"Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n","type":"object","properties":{"userName":{"description":"Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n","type":"string"},"password":{"description":"Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n","type":"string"}}},"paramsOauth2ClientCredentials":{"description":"Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n","type":"object","properties":{"clientId":{"description":"Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n","type":"string"},"clientPassword":{"description":"Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n","type":"string"},"tokenEndpoint":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}},{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"201":{"description":"Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","type":"string","maximum":1,"minimum":1},"Location":{"description":"The resource URI of the created VNF instance","type":"string","format":"url"},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"type":"array","items":{"description":"This type represents a subscription related to notifications about VNF indicator value changes.\n","type":"object","required":["id","callbackUri","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"filter":{"description":"This type represents a subscription filter related to notifications about VNF indicator value changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"url"},"_links":{"description":"Links for this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"303":{"description":"See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n"},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"get":{"description":"Query Subscription Information\n\nThe GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"200":{"description":"OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method which match the attribute filter.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","type":"string","maximum":1,"minimum":1},"Location":{"description":"The resource URI of the created VNF instance","type":"string","format":"url"},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"type":"array","items":{"description":"This type represents a subscription related to notifications about VNF indicator value changes.\n","type":"object","required":["id","callbackUri","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"filter":{"description":"This type represents a subscription filter related to notifications about VNF indicator value changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"url"},"_links":{"description":"Links for this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}}},"400":{"description":"Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string"}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/indicators/subscriptions/{subscriptionId}":{"parameters":[{"name":"subscriptionId","description":"Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","in":"path","type":"string","required":true}],"get":{"description":"Query Subscription Information\n\nThe GET method reads an individual subscription.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"}],"responses":{"200":{"description":"OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"This type represents a subscription related to notifications about VNF indicator value changes.\n","type":"object","required":["id","callbackUri","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"filter":{"description":"This type represents a subscription filter related to notifications about VNF indicator value changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","properties":{"vnfdIds":{"description":"If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"indicatorIds":{"description":"Match particular VNF indicator identifiers.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}}}},"callbackUri":{"description":"The URI of the endpoint to send the notification to.\n","type":"string","format":"url"},"_links":{"description":"Links for this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"delete":{"description":"Terminate Subscription\n\nThe DELETE method terminates an individual subscription.\n","parameters":[{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"}],"responses":{"204":{"description":"No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}} diff --git a/SOL003/VNFIndicator-API/SOL003-VNFIndicator-API.yaml b/SOL003/VNFIndicator-API/SOL003-VNFIndicator-API.yaml deleted file mode 100644 index 54b7454af77ad08d67780fa7ff79381b4c82d93b..0000000000000000000000000000000000000000 --- a/SOL003/VNFIndicator-API/SOL003-VNFIndicator-API.yaml +++ /dev/null @@ -1,5080 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL003 - VNF Indicator interface - description: > - SOL003 - VNF Indicator interface - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering - mechanism is defined. This mechanism is currently not included in the - corresponding OpenAPI design for this GS version. Changes to the - attribute-based filtering mechanism are being considered in v2.5.1 of this - GS for inclusion in the corresponding future ETSI NFV OpenAPI design. Please - report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf -basePath: /vnfind/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -paths: - /indicators: - get: - description: | - Get Indicator Value - - The GET method queries multiple VNF indicators. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The list of VNF indicators was queried successfully. The response - body shall contain the representations of all VNF indicators that - match the attribute filter. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: | - This type represents a VNF indicator value. - type: object - required: - - id - - value - - vnfInstanceId - - _links - properties: - id: - description: | - An identifier that is unique within a VNF descriptor. - type: string - name: - description: > - Human readable name of the indicator. Shall be present if - defined in the VNFD. - type: string - value: - description: > - Provides the value of the indicator. The value format is - defined in the VNFD. ETSI GS NFV-SOL 001 specifies the - structure and format of the VNFD based on TOSCA - specifications. - type: object - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/indicators/{vnfInstanceId}': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to which the VNF indicator applies. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new VNF instance resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - get: - description: > - Get Indicator Value - - - The GET method queries multiple VNF indicators related to a VNF - instance. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The list of VNF indicators was queried successfully. The response - body shall contain the representations of all VNF indicators that - are related to the particular VNF instance and that match the - attribute filter. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: | - This type represents a VNF indicator value. - type: object - required: - - id - - value - - vnfInstanceId - - _links - properties: - id: - description: | - An identifier that is unique within a VNF descriptor. - type: string - name: - description: > - Human readable name of the indicator. Shall be present if - defined in the VNFD. - type: string - value: - description: > - Provides the value of the indicator. The value format is - defined in the VNFD. ETSI GS NFV-SOL 001 specifies the - structure and format of the VNFD based on TOSCA - specifications. - type: object - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/indicators/{vnfInstanceId}/{indicatorId}': - parameters: - - name: indicatorId - description: > - Identifier of the VNF indicator. This identifier can be retrieved from - the resource referenced by the payload body in the response to a POST - request creating a new VNF instance resource. - in: path - type: string - required: true - - name: vnfInstanceId - description: > - Identifier of the VNF instance to which the VNF indicator applies. - This identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new VNF instance resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - get: - description: | - Get Indicator Value - - The GET method reads a VNF indicator. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The VNF indicator was read successfully. The response body shall - contain the representation of the VNF indicator. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF indicator value. - type: object - required: - - id - - value - - vnfInstanceId - - _links - properties: - id: - description: | - An identifier that is unique within a VNF descriptor. - type: string - name: - description: > - Human readable name of the indicator. Shall be present if - defined in the VNFD. - type: string - value: - description: > - Provides the value of the indicator. The value format is - defined in the VNFD. ETSI GS NFV-SOL 001 specifies the - structure and format of the VNFD based on TOSCA - specifications. - type: object - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - _links: - description: | - Links for this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Subscribe - - - The POST method creates a new subscription. Creation of two subscription - resources with the same callbackURI and the same filter can result in - performance degradation and will provide duplicates of notifications to - the NFVO, and might make sense only in very rare use cases. - Consequently, the VNFM may either allow creating a subscription resource - if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the “201 Created†response - code), or may decide to not create a duplicate subscription resource (in - which case it shall return a “303 See Other†response code referencing - the existing subscription resource with the same filter and - callbackUri). - parameters: - - name: VnfIndicatorSubscriptionRequest - description: Details of the subscription to be created. - in: body - required: true - schema: - description: > - This type represents a subscription request related to VNF - indicator value change notifications. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about VNF indicator value changes. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - indicatorIds: - description: | - Match particular VNF indicator identifiers. - type: array - items: - description: | - An identifier that is unique within a VNF descriptor. - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '201': - description: > - Created - - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. The - HTTP response shall include a "Location" HTTP header that points to - the created subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF indicator value changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF indicator value changes. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId - values listed in this attribute. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not - be used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not - be used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, - from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF - Instances in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF - Instances in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - indicatorIds: - description: | - Match particular VNF indicator identifiers. - type: array - items: - description: | - An identifier that is unique within a VNF descriptor. - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '303': - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing subscription - resource. The response body shall be empty. - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - - The GET method queries the list of active subscriptions of the - functional block that invokes the method. It can be used e.g. for - resynchronization after error situations. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method which match the - attribute filter. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF indicator value changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF indicator value changes. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to - match VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId - values listed in this attribute. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not - be used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not - be used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, - from one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF - Instances in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF - Instances in a filter. They should not be used both - in the same filter instance, but one alternative - should be chosen. - type: array - items: - type: string - indicatorIds: - description: | - Match particular VNF indicator identifiers. - type: array - items: - description: | - An identifier that is unique within a VNF descriptor. - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/indicators/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: | - Query Subscription Information - - The GET method reads an individual subscription. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF indicator value changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF indicator value changes. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - indicatorIds: - description: | - Match particular VNF indicator identifiers. - type: array - items: - description: | - An identifier that is unique within a VNF descriptor. - type: string - callbackUri: - description: | - The URI of the endpoint to send the notification to. - type: string - format: url - _links: - description: | - Links for this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - Terminate Subscription - - The DELETE method terminates an individual subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '204': - description: > - No Content - - The subscription resource was deleted successfully. The response - body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL003/VNFIndicator-API/Subscriptions.robot b/SOL003/VNFIndicator-API/Subscriptions.robot index 56c2df54c7aad4d4048055fa606a11f7ac1b8b89..e9eeed23fc26de853eb9ce2b70bdfe013ef7527d 100644 --- a/SOL003/VNFIndicator-API/Subscriptions.robot +++ b/SOL003/VNFIndicator-API/Subscriptions.robot @@ -17,7 +17,7 @@ GET All VNF Indicator Subscriptions ... Test title: GET All VNF Indicator Subscriptions ... Test objective: The objective is to test the retrieval of all VNF indicator subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET VNF Indicator Subscriptions with attribute-based filter ... Test title: GET VNF Indicator Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicator subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ GET VNF Indicator Subscriptions with invalid attribute-based filter ... Test title: GET VNF Indicator Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicator subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ GET VNF Indicator Subscriptions with invalid resource endpoint ... Test title: GET VNF Indicator Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF indicator subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ Create new VNF indicator subscription ... Test title: Create new VNF indicator subscription ... Test objective: The objective is to test the creation of a new VNF indicator subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF indicator subscription is successfully set and it matches the issued subscription @@ -85,7 +85,7 @@ Create duplicated VNF indicator subscription with VNFM not creating duplicated s ... Test title: Create duplicated VNF indicator subscription with VNFM not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF indicator subscription and check that no new subscription is created by the VNFM and a link to the original subscription is returned ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF indicator subscription returned is available in the VNFM @@ -101,7 +101,7 @@ Create duplicated VNF indicator subscription with VNFM creating duplicated subsc ... Test title: Create duplicated VNF indicator subscription with VNFM creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF indicator subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF indicator subscription is successfully set and it matches the issued subscription @@ -112,11 +112,11 @@ Create duplicated VNF indicator subscription with VNFM creating duplicated subsc Check Postcondition VNF indicator Subscription Is Set PUT VNF Indicator Subscriptions - Method not implemented - [Documentation] TTest ID: 7.3.6.4.8 + [Documentation] Test ID: 7.3.6.4.8 ... Test title: PUT VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH VNF Indicator Subscriptions - Method not implemented ... Test title: PATCH VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicator subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -140,10 +140,36 @@ DELETE VNF Indicator Subscriptions - Method not implemented ... Test title: DELETE VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. - ... Reference: clause 8.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF indicator subscriptions are not deleted by the failed operation Send Delete Request for VNF Indicator Subscriptions Check HTTP Response Status Code Is 405 Check Postcondition VNF Indicator Subscriptions Exists + +GET All VNF Indicator Subscriptions as Paged Response + [Documentation] Test ID: 7.3.6.4.11 + ... Test title: GET All VNF Indicator Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all VNF indicator subscriptions as Paged Response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get All VNF Indicators Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Indicator Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 7.3.6.4.12 + ... Test title: GET VNF Indicator Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF indicator subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNFM. + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get All VNF Indicators Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL003/VNFIndicator-API/VNFIndicators.robot b/SOL003/VNFIndicator-API/VNFIndicators.robot index cc6949cd9965c0d491bb048d5e39f964603ddd8f..b215736ac171690fc830a092170d4f2da5060b6d 100644 --- a/SOL003/VNFIndicator-API/VNFIndicators.robot +++ b/SOL003/VNFIndicator-API/VNFIndicators.robot @@ -12,7 +12,7 @@ Get all VNF Indicators ... Test title: Get all VNF Indicators ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNF Indicators with attribute-based filter ... Test title: Get VNF Indicators with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicators using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get VNF Indicators with invalid attribute-based filter ... Test title: Get VNF Indicators with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ Get all VNF Indicators with malformed authorization token ... Test title: Get all VNF Indicators with malformed authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using malformed authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -64,7 +64,7 @@ Get all VNF Indicators without authorization token ... Test title: Get all VNF Indicators without authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when omitting the authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -76,7 +76,7 @@ GET all VNF Indicators with expired or revoked authorization token ... Test title: GET all VNF Indicators with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using expired or revoked authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -88,7 +88,7 @@ Get all VNF Indicators with invalid resource endpoint ... Test title: Get all VNF Indicators with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST all VNF Indicators - Method not implemented ... Test title: POST all VNF Indicators - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM - ... Reference: clause 8.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PUT all VNF Indicators - Method not implemented ... Test title: PUT all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ PATCH all VNF Indicators - Method not implemented ... Test title: PATCH all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNF - ... Reference: clause 8.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -136,10 +136,36 @@ DELETE all VNF Indicators - Method not implemented ... Test title: DELETE all VNF Indicators - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNF - ... Reference: clause 8.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF indicators are not deleted by the unsuccessful operation Send DELETE Request for all VNF indicators Check HTTP Response Status Code Is 405 Check Postcondition VNF Indicators Exist + +Get all VNF Indicators as Paged Response + [Documentation] Test ID: 7.3.6.1.12 + ... Test title: Get all VNF Indicators as Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF indicators as Paged Response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all VNF indicators + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get VNF Indicators - Bad Request Response too Big + [Documentation] Test ID: 7.3.6.1.13 + ... Test title: Get VNF Indicators - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF indicators fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM. + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all VNF indicators + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 426ba2c0c8709fb209429ef734be1c7949621d44..cb9e3925c6a08fcff632ef58a765a2ca91c659e3 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -13,6 +13,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** Get All VNF Indicators Subscriptions @@ -167,7 +168,7 @@ Send Delete Request for VNF Indicator Subscriptions Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response['status']} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Body Json Schema Is @@ -183,7 +184,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - #TODO + Should Be Equal As Strings ${response['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body Matches the Subscription Log Check Response matches subscription @@ -329,8 +330,11 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter - #todo - + @{attr} = Split String ${POS_FIELDS} ,${VAR_SEPERATOR} + @{var_name} = Split String @{attr}[0] ,${SEPERATOR} + @{var_id} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]" + Get all indicators for a VNF instance Log This resource represents VNF indicators related to a VNF instance. Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -397,11 +401,15 @@ Send DELETE Request for indicators in VNF instance Check HTTP Response Body Includes Requested VNF Instances ID Log Check Response includes Indicators according to resource identifier - #todo + Should Be Equal As Strings ${response['body'][0]['vnfInstanceId']} ${vnfInstanceId} Check Postcondition Indicators for VNF instance Exist - Log Check Response includes VNF Indicators according to filter - #todo + Log Check Postcondition Indicators for VNF instance Exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId} + Should Be Equal ${response['status']} 200 + Get Individual Indicator for a VNF instance Log This resource represents a VNF indicator related to a VNF instance. @@ -559,3 +567,7 @@ Check Notification Endpoint Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL003/VNFIndicator-API/VnfIndicatorNotification.robot b/SOL003/VNFIndicator-API/VnfIndicatorNotification.robot index 412cf964f0e96bef0ab7ef31650d12cc241ef2f4..057e7f1ef63ad63959c44b4f1d0ca742b63f2780 100644 --- a/SOL003/VNFIndicator-API/VnfIndicatorNotification.robot +++ b/SOL003/VNFIndicator-API/VnfIndicatorNotification.robot @@ -16,7 +16,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test the dispatch of VNF Indicator Value Change Notification when new indicator values are available in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNFM. - ... Reference: clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 60f13fc9cf2369929cbeee297f219ab1d1beed96..a160eff47c297b5fe7ffdce2069991b4bc00915e 100644 --- a/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL003/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -6,14 +6,13 @@ Resource VNFIndicatorsKeywords.robot Library JSONLibrary Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false -*** Test Cases *** *** Test Cases *** Get Indicators for VNF Instance [Documentation] Test ID: 7.3.6.2.1 ... Test title: Get Indicators for VNF Instance ... Test objective: The objective is to test the retrieval of all indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +26,7 @@ GET Indicators for VNF Instance with attribute-based filter ... Test title: GET Indicators for VNF Instance with attribute-based filter ... Test objective: The objective is to test the retrieval of all indicators for a given VNF instance using attribute-based filter and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +40,7 @@ Get Indicators for VNF Instance with invalid attribute-based filter ... Test title: Get Indicators for VNF Instance with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all indicators for a given VNF instance fails using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +53,7 @@ Get Indicators for VNF Instance with invalid resource identifier ... Test title: Get Indicators for VNF Instance with invalid resource identifier ... Test objective: The objective is to test that the retrieval of all indicators for a given VNF instance fails when using invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +66,7 @@ POST Indicators for VNF instance - Method not implemented ... Test title: POST Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 8.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -79,7 +78,7 @@ PUT Indicators for VNF instance - Method not implemented ... Test title: PUT Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +90,7 @@ PATCH Indicators for VNF instance - Method not implemented ... Test title: PATCH Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,10 +102,36 @@ DELETE Indicators for VNF instance - Method not implemented ... Test title: DELETE Indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete indicators for a VNF instance ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. - ... Reference: clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The indicators for the VNF instance are not deleted by the unsuccessful operation Send DELETE Request for indicators in VNF instance Check HTTP Response Status Code Is 405 Check Postcondition Indicators for VNF instance Exist + +Get Indicators for VNF Instance as Paged Response + [Documentation] Test ID: 7.3.6.2.9 + ... Test title: Get Indicators for VNF Instance as Paged Response + ... Test objective: The objective is to test the retrieval of all indicators for a given VNF instance as Paged Response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all indicators for a VNF instance + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get Indicators for VNF Instance - Bad Request Response too Big + [Documentation] Test ID: 7.3.6.2.10 + ... Test title: Get Indicators for VNF Instance - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of all indicators for a given VNF instance fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF indicators are available in the VNFM for the given VNF instance. + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all indicators for a VNF instance + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFIndicator-API/environment/vnfIndicators.txt b/SOL003/VNFIndicator-API/environment/vnfIndicators.txt index 626c660fc5b9dd569defc9b30a3863f63b180b4c..b4ca7ceaa9fcad5846b482cff770f9dd4ae190d4 100644 --- a/SOL003/VNFIndicator-API/environment/vnfIndicators.txt +++ b/SOL003/VNFIndicator-API/environment/vnfIndicators.txt @@ -1,3 +1,5 @@ *** Variables *** ${POS_FIELDS} name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe733e3d0 ${NEG_FIELDS} wrongName=wrongValue +${SEPERATOR} = +${VAR_SEPERATOR} & \ No newline at end of file diff --git a/SOL003/VNFIndicator-API/schemas/ApiVersionInformation.schema.json b/SOL003/VNFIndicator-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VNFIndicator-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/ApiVersion.robot b/SOL003/VNFLifecycleManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..3af9e2c16bf7223af40848a306dee20bdf6882af --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** +Resource environment/configuration.txt +Resource environment/variables.txt +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.1.35.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.1.35.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.1.35.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.1.35.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.1.35.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.1.35.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.1.35.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.1.35.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.1.35.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.1.35.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot index 79727b358e262905b1cea7cb251f0e663c1ef064..a716a2d1e13b4ccbeaea86ce99801b72d3430b4f 100644 --- a/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/CancelOperationTask.robot @@ -2,7 +2,7 @@ Resource environment/configuration.txt Resource environment/variables.txt Resource VnfLcmMntOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. ... Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF instance status equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Cancel operation task Conflict ... Test title: POST Cancel operation task Conflict ... Test objective: The POST method is NOT cancelling an ongoing VNF lifecycle operation due to the fact that the VNF instance resource is not in STARTING, PROCESSING or ROLLING_BACK state ... Pre-conditions: operation is not in STARTING, PROCESSING or ROLLING_BACK state - ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Cancel operation task Not Found ... Test title: POST Cancel operation task Not Found ... Test objective: The objective is to test that POST method cannot cancel a VNF lifecycle operation because the resource is not found ... Pre-conditions: - ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.17.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot index 4b72f088e02e049c79f69eebe30eaf8edbb1fe3e..05c970fa69cec1981971150eabeb20c7ca32a8a2 100644 --- a/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/CancelOperationWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -20,7 +20,7 @@ Cancel a VNF LCM Operation - STARTING ... Test title: Cancel a VNF LCM Operation - STARTING ... Test objective: The objective is to test the workflow for Cancelling a VNF LCM Operation being in the STARTING state ... Pre-conditions: The VNF lifecycle management operation occurrence is in STARTING state. NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID 5.4.20.1) - ... Reference: clause 5.4.17 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.17 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in ROLLED_BACK state @@ -36,7 +36,7 @@ Cancel a VNF LCM Operation - PROCESSING - ROLLING_BACK ... Test title: Cancel a VNF LCM Operation - PROCESSING - ROLLING_BACK ... Test objective: The objective is to test the workflow for Cancelling a VNF LCM Operation being either in the PROCESSIONG or ROLLING_BACK state ... Pre-conditions: The VNF lifecycle management operation occurrence is in PROCESSING or ROLLING_BACK state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state diff --git a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot index 4f03b9673fc25647392cbf2cc97ccb84dc34c703..8cabe1bbb6b8ce5574bea0ce084587ea89000976 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource VnfLcmMntOperationKeywords.robot Library OperatingSystem Library JSONLibrary @@ -13,7 +13,7 @@ POST Change external VNF connectivity ... Test title: POST Change external VNF connectivity ... Test objective: The objective is to test that POST method trigger a change in VNF external connectivity ... Pre-conditions: none - ... Reference: clause 5.4.11.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ GET Change external VNF connectivity - Method not implemented ... Test title: GET Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT Change external VNF connectivity - Method not implemented ... Test title: PUT Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH Change external VNF connectivity - Method not implemented ... Test title: PATCH Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE Change external VNF connectivity - Method not implemented ... Test title: DELETE Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.11.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot index b8470d0f7b7f4aaacf3f1ab663765555bd589ea5..5db4c928f05182e0226a572a7a5c1dfceaa57688 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Change external connectivity of VNF Workflow - [Documentation] Test ID: 7.3.1.20 + [Documentation] Test ID: 7.3.1.20.1 ... Test title: Change external connectivity of VNF Workflow ... Test objective: The objective is to change the external connectivity of a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: clause 5.4.11 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.11 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. The VNFD supports the external connectivity change ... Post-Conditions: VNF instance still in INSTANTIATED state and external connectivity of the VNF is changed diff --git a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot index 2688393ee5217f87fcd8a92e604b7a94d0760d87..8ef6b52ddd5b2a54b7ae03fc9dab591cef3d52c6 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource VnfLcmMntOperationKeywords.robot Library OperatingSystem Library JSONLibrary @@ -13,7 +13,7 @@ POST Change deployment flavour of a vnfInstance ... Test title: POST Change deployment flavour of a vnfInstance ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -26,7 +26,7 @@ POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because of a conflict with the state of the VNF instance resource. (VNF instance resource is not in NOT-INSTANTIATED state) ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ POST Change deployment flavour of a vnfInstance Not Found ... Test title: POST Change deployment flavour of a vnfInstance Not Found ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,11 +51,11 @@ POST Change deployment flavour of a vnfInstance Not Found GET Change deployment flavour VNFInstance - Method not implemented - [Documentation] Test ID: 7.3.1.16.4 + [Documentation] Test ID: 7.3.1.6.4 ... Test title: GET Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,11 +63,11 @@ GET Change deployment flavour VNFInstance - Method not implemented Check HTTP Response Status Code Is 405 PUT Change deployment flavour VNFInstance - Method not implemented - [Documentation] Test ID: 7.3.1.16.5 + [Documentation] Test ID: 7.3.1.6.5 ... Test title: PUT Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -75,11 +75,11 @@ PUT Change deployment flavour VNFInstance - Method not implemented Check HTTP Response Status Code Is 405 PATCH Change deployment flavour VNFInstance - Method not implemented - [Documentation] Test ID: 7.3.1.16.6 + [Documentation] Test ID: 7.3.1.6.6 ... Test title: PATCH Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -87,11 +87,11 @@ PATCH Change deployment flavour VNFInstance - Method not implemented Check HTTP Response Status Code Is 405 DELETE Change deployment flavour VNFInstance - Method not implemented - [Documentation] Test ID: 7.3.1.16.7 + [Documentation] Test ID: 7.3.1.6.7 ... Test title: DELETE Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot index 4834393b1cfc886979b2717d05512fda0e9f7e23..7d9d96b68f3f66a4ef8b79c894ae7c19ce362941 100644 --- a/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ChangeVNFFlavourWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Change VNF Flavour Workflow - [Documentation] Test ID: 7.3.1.21 + [Documentation] Test ID: 7.3.1.21.1 ... Test title: Change VNF Flavour Workflow ... Test objective: The objective is to test the workflow for a change flavour of an existing VNF instance ... Pre-conditions: VNF instance in INSTANTIATED state . NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.4.7 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.7 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: Multiple flavours are supported for the VNF (as capability in the VNFD). NFVO is able to receive notifications from VNFM ... Post-Conditions: VNF instance still in INSTANTIATED state and the flavour is changed diff --git a/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot index a0adc897dfca9ebf2a2d2376d0c22c9e0219643b..e5e3012df0a060ea9acd343c72938e6c4123b070 100644 --- a/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/CreateVNFWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Create VNF Instance Resource - [Documentation] Test ID: 7.3.1.22 + [Documentation] Test ID: 7.3.1.22.1 ... Test title: Create VNF Instance workflow ... Test objective: The objective is to test the workflow for the creation of a new VNF instance resource. ... Pre-conditions: NFVO is subscribed to VNF Identifier Creation notifications - ... Reference: clause 5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF instance resource has been created in "NOT_INSTANTIATED" state. @@ -39,7 +39,7 @@ Check Postcondition VNF Instance Created status is [Arguments] ${status} Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} ${status} + Check VNF Status ${response['body']['instantiationState']} ${status} Check Operation Notification For VNF Instance Creation Check VNF Instance Operation Notification VnfIdentifierCreationNotification ${vnfInstanceId} diff --git a/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot index 9179a5599de1925e3fe214c024606f2b31f08766..cf7d52867134e36385989528dc85d1fdb7d98665 100644 --- a/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/DeleteVNFWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Delete VNF Instance Resource - [Documentation] Test ID: 7.3.1.23 + [Documentation] Test ID: 7.3.1.23.1 ... Test title: Delete VNF Instance workflow ... Test objective: The objective is to test the workflow for the deleteion of an existing VNF instance resource ... Pre-conditions: The VNF Instance resource is in NOT_INSTANTIATED state. NFVO is subscribed to VNF Identifier Creation notifications - ... Reference: clause 5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF instance resource is deleted on the VNFM. diff --git a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot index 20e6fca2c671c7b909549f55167d1b1a0a00c08b..5e0c6ba821a5938db4e5f25e1aa891a6c0f7186e 100644 --- a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: VNF resource state is FINALLY_FAILED @@ -25,10 +25,10 @@ POST Fail operation task Post Fail operation task Conflict (Not-FAILED_TEMP) # TODO: Need to set the pre-condition of the test. VNF instance shall be in INSTANTIATED state [Documentation] Test ID: 7.3.1.15.2 - ... Test title: Post Fail operation task + ... Test title: Post Fail operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,10 +39,10 @@ Post Fail operation task Conflict (Not-FAILED_TEMP) Post Fail operation task Not Found # TODO: Need to create a vnfInstance which's instantiatedVnfInfo.scaleStatus is absent [Documentation] Test ID: 7.3.1.15.3 - ... Test title: Post Fail operation task + ... Test title: Post Fail operation task Not Found ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation because the operation is not supported ... Pre-conditions: - ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -66,7 +66,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -75,10 +75,10 @@ PUT Fail operation task - Method not implemented PATCH Fail operation task - Method not implemented [Documentation] Test ID: 7.3.1.15.6 - ... Test title: GET Fail operation task- Method not implemented + ... Test title: PATCH Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -90,7 +90,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.16.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot index e6691faa438183de695d063dc310f4fc869b1b31..35c87ff12bf4e4ed79e3c6835e7d0436856d3008 100644 --- a/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/FailOperationWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Fail a VNF LCM Operation Workflow - [Documentation] Test ID: 7.3.1.24 + [Documentation] Test ID: 7.3.1.24.1 ... Test title: Fail a VNF LCM Operation Workflow ... Test objective: The objective is to test the workflow for a Fail VNF LCM Operation ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.4.16 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.16 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED state diff --git a/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot b/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot index e9d8e6ff5d4a95bc8171b8d019a46aef9a1eba4e..f3c586a63bfae8469afbfc19cb359a3c9471ac7c 100644 --- a/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/HealVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Heal a vnfInstance ... Test title: POST Heal a vnfInstance ... Test objective: The objective is to test that POST method heal a VNF instance ... Pre-conditions: the VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -27,7 +27,7 @@ POST Heal a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Heal a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -42,7 +42,7 @@ POST Heal a vnfInstance Not Found ... Test title: POST Heal a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -56,7 +56,7 @@ GET Heal VNFInstance - Method not implemented ... Test title: GET Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -68,7 +68,7 @@ PUT Heal VNFInstance - Method not implemented ... Test title: PUT Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -80,7 +80,7 @@ PATCH Heal VNFInstance - Method not implemented ... Test title: PATCH Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -92,7 +92,7 @@ DELETE Heal VNFInstance - Method not implemented ... Test title: DELETE Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.9.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot index d696929188faf22a2ff6b2dc6f99f887695ca1e0..854f1aed974cf77605d7085f850fdaab08cf1639 100644 --- a/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/HealVNFWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Heal a VNF Instance - [Documentation] Test ID: 7.3.1.25 + [Documentation] Test ID: 7.3.1.25.1 ... Test title: Heal a VNF Instance ... Test objective: The objective is to heal a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: clause 5.4.9 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.9 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Heal a VNF instance is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state diff --git a/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot b/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot index e1e9c8f84fc9f87c101a9ea7617de9f2e10ab469..d41331c9f31ee067590f493c5c0ae738b056a9cb 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualSubscription.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Resource VnfLcmMntOperationKeywords.robot @@ -12,7 +12,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the Get individual subscription ... Pre-conditions: none - ... Reference: clause 5.4.19.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.19.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription deleted from VNFM diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index a0de19877fb41fceee4e0ecc587b43cf3a53305e..4d5a7fda190f5efae6baac44c79a3f608314e5f5 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -2,7 +2,7 @@ Resource environment/configuration.txt # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource VnfLcmMntOperationKeywords.robot Library OperatingSystem Library DependencyLibrary @@ -18,7 +18,7 @@ Post Individual VNFInstance - Method not implemented ... Test title: Post Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -30,21 +30,20 @@ Get Information about an individual VNF Instance ... Test title: Get Information about an individual VNF Instance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: GET individual vnfInstance Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is vnfInstance - SET etag PUT Individual VNFInstance - Method not implemented [Documentation] Test ID: 7.3.1.2.3 ... Test title: PUT Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -56,7 +55,7 @@ PATCH Individual VNFInstance ... Test title: PATCH Individual VNFInstance ... Test objective: This method modifies an individual VNF instance resource ... Pre-conditions: an existing VNF instance resource - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: VNFInstance modified @@ -69,7 +68,7 @@ PATCH Individual VNFInstance Precondition failed ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: ETag mismatch - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: VNFInstance not modified @@ -82,7 +81,7 @@ PATCH Individual VNFInstance Conflict ... Test title: PATCH Individual VNFInstance Conflict ... Test objective: The objective is to test the conflict while modifying a VNF instance resource ... Pre-conditions: another LCM operation is ongoing - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: VNFInstance not modified @@ -95,7 +94,7 @@ DELETE Individual VNFInstance ... Test title: DELETE Individual VNFInstance ... Test objective: The objective is to delete a VNF instance ... Pre-conditions: the VNF instance resource is existing - ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: VNFInstance deleted @@ -107,13 +106,14 @@ DELETE Individual VNFInstance Conflict ... Test title: DELETE Individual VNFInstance Conflict ... Test objective: The objective is to verify that the deletion cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: Resources are not deleted DELETE individual vnfInstance Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails + Check resource existence *** Keywords *** Check resource existence diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot b/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot index 87af276005efad7502d56ee50f2d47405f7635bc..fbe80d6ad63a71e1cf693e87c555c45f45a0a5d6 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Resource VnfLcmMntOperationKeywords.robot @@ -12,7 +12,7 @@ Post Individual VNF LCM Operation occurrences - Method not implemented ... Test title: Post Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get information about multiple VNF instances ... Test title: Get information about multiple VNF instances ... Test objective: The objective is to test that this method retrieve information about a VNF lifecycle management operation occurrence ... Pre-conditions: none - ... Reference: clause 5.4.13.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT Individual VNF LCM Operation occurrences - Method not implemented ... Test title: PUT Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PATCH Individual VNF LCM Operation occurrences - Method not implemented ... Test title: PATCH Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual VNF LCM Operation occurrences - Method not implemented ... Test title: DELETE Individual VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.13.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,4 +76,4 @@ Get multiple VNF instances Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable ${response} ${outputResponse} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot index 0d7f52e41ac44cbc7aec7c3fd45e810c7b671f07..97f4aaf8e603100e7aa695ad41396aeed19ea9d4 100644 --- a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library OperatingSystem Library JSONLibrary @@ -15,7 +15,7 @@ Instantiate a vnfInstance ... Test title: Post Instantiate Individual VNFInstance ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: VNF instance resource is in NOT INSTANTIATED state - ... Reference: clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -29,7 +29,7 @@ Instantiate a vnfInstance Conflict ... Test title: Post Instantiate Individual VNFInstance ... Test objective: The objective is to verify that the instantiation of the vnf cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state - ... Reference: clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -42,7 +42,7 @@ GET Instantiate VNFInstance - Method not implemented ... Test title: GET Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -54,7 +54,7 @@ PUT Instantiate VNFInstance - Method not implemented ... Test title: PUT Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -66,7 +66,7 @@ PATCH Instantiate VNFInstance - Method not implemented ... Test title: PATCH Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -78,7 +78,7 @@ DELETE Instantiate VNFInstance - Method not implemented ... Test title: DELETE Instantiate Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot index 390e91ff0a71c91b67bcb621de455690c8919a61..24fb72421d3fe355caa241e4c86dbf5a3a171d34 100644 --- a/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/InstantiateVNFTaskWorkflow.robot @@ -13,16 +13,16 @@ Library Collections Library String Library JSONSchemaLibrary schemas/ Library JSONLibrary -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false *** Test Cases *** VNF Instantiation - [Documentation] Test ID: 7.3.1.26 + [Documentation] Test ID: 7.3.1.26.1 ... Test title: VNF Instantiation workflow ... Test objective: The objective is to test the workflow for the instantiation of a VNF instance ... Pre-conditions: VNF instance resources is already created. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.4.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: VNF instance in INSTANTIATED state @@ -57,7 +57,7 @@ Check Postcondition VNF Status Check VNF Instance ${vnfInstanceId} Should Not Be Empty ${response} Check HTTP Response Status Code Is 200 - Should Be Equal ${response.body.id} ${vnfInstanceId} + Should Be Equal ${response['body']['id']} ${vnfInstanceId} Check HTTP Response Header Contains Content-Type Check HTTP Response Body Json Schema Is vnfInstance.schema.json - Check VNF Status ${response.body.instantiationState} ${status} \ No newline at end of file + Check VNF Status ${response['body']['instantiationState']} ${status} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot index 48c3be7fd103e74b5fd59aaead7f839a1f4d4feb..74cf83d7357b44e6eb6b7837986020dd76850415 100644 --- a/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ModifyVNFInformationWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Modify info of a VNF Instance - [Documentation] Test ID: 7.3.1.27 + [Documentation] Test ID: 7.3.1.27.1 ... Test title: Update information about a VNF instance ... Test objective: The objective is to update information about a VNF instance. ... Pre-conditions: VNF instance is created - ... Reference: clause 5.3.6 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.6 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Update information of a VNF instance is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance info is updated diff --git a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot index 6f50c4ebe1bea2f712444b956305e4fa25facc1d..271e2c094a7dc0873efa5c1861b710e8b05c1b3e 100644 --- a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot @@ -9,11 +9,11 @@ Library Collections *** Test Cases *** VNF LCM Operation Occurrence Start Notification - [Documentation] Test ID: 7.3.1.19.1 + [Documentation] Test ID: 7.3.1.34.1 ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,11 +23,11 @@ VNF LCM Operation Occurrence Start Notification Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is START VNF LCM Operation Occurrence Result Notification - [Documentation] Test ID: 7.3.1.19.2 + [Documentation] Test ID: 7.3.1.34.2 ... Test title: VNF LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,11 +37,11 @@ VNF LCM Operation Occurrence Result Notification Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is RESULT VNF Identifier Creation Notification - [Documentation] Test ID: 7.3.1.19.3 + [Documentation] Test ID: 7.3.1.34.3 ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,11 +50,11 @@ VNF Identifier Creation Notification Check VNF Identifier Creation Notification Http POST Request Body notificationType attribute Is VnfIdentifierCreationNotification VNF Identifier Deletion Notification - [Documentation] Test ID: 7.3.1.19.4 + [Documentation] Test ID: 7.3.1.34.4 ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: clause 6.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot index 1327418959ea5ad5faa928f5a0b463940f9d8152..3666b24b3d0d1d5dbbadc3ae077185ee524205b9 100644 --- a/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/OperateVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -15,7 +15,7 @@ POST Operate a vnfInstance ... Test title: POST Operate a vnfInstance ... Test objective: The objective is to test that POST method operate a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -28,7 +28,7 @@ POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -42,7 +42,7 @@ POST Operate a vnfInstance Not Found ... Test title: POST Operate a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed currently, because the resource is not existing ... Pre-conditions: the VNF instance resource is in not existing - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -55,7 +55,7 @@ GET Operate VNFInstance - Method not implemented ... Test title: GET Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -67,7 +67,7 @@ PUT Operate VNFInstance - Method not implemented ... Test title: PUT Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -79,7 +79,7 @@ PATCH Operate VNFInstance - Method not implemented ... Test title: PATCH Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -91,7 +91,7 @@ DELETE Operate VNFInstance - Method not implemented ... Test title: DELETE Operate a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.10.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot index b6445b796c1c3c108a842f73f30461d21d5d0feb..c6812d3f2eb2e54ceef845e064e155827046ba1e 100644 --- a/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/OperateVNFWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -16,11 +16,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Operate a VNF Instance - [Documentation] Test ID: 7.3.1.28 + [Documentation] Test ID: 7.3.1.28.1 ... Test title: Operate a VNF Instance ... Test objective: The objective is to test the workflow of operational change of a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: change the operational state of a VNF instance is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state and the operational state is changed diff --git a/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot b/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot index d48fa5eea6a8937bbd895cd93419085104ef6f90..a6610845efd316ba9743a81efc36bdff1051555f 100644 --- a/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/RetryOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -16,7 +16,7 @@ Post Retry operation task ... Test title: Post Retry operation task ... Test objective: The objective is to test that POST method The POST method initiates retrying a VNF lifecycle operation if the operation is in FAILED_TEMP state ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Post Retry operation task Conflict (Not-FAILED_TEMP) ... Test title: Post Retry operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that the retry operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. (i.e. the VNF instance resource is not in FAILED_TEMP state) ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ Post Retry operation task Not Found ... Test title: Post Retry operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.14.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -67,7 +67,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.14.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -79,7 +79,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.14.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -91,7 +91,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.14.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.14.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot index 2e86cdeaec948ef279be54ffa5c642438125d28f..8a62a5f30c2ff37ee1b6a7455fe54826066db467 100644 --- a/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/RetryOperationWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -18,7 +18,7 @@ Retry VNF LCM Operation - Successful ... Test title: Retry VNF LCM Operation - Successful ... Test objective: The objective is to test the workflow for a successful Retry VNF LCM Operation and the status notifications ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in COMPLETED state @@ -35,7 +35,7 @@ Retry VNF LCM Operation - Unsuccessful ... Test title: Retry VNF LCM Operation - Unsuccessful ... Test objective: The objective is to test the workflow for an unsuccesful Retry VNF LCM Operation and the status notifications ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state diff --git a/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot b/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot index 0a8ae6412a29c67bfa2c992d6e2016ee4f507aa9..e22b001c84ef5fdbaeddeb31ba91fde809f009b1 100644 --- a/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/RollBackOperationWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -20,7 +20,7 @@ Rollback a VNF LCM Operation - Successful ... Test title: Rollback VNF LCM Operation - Successful ... Test objective: The objective is to test the workflow for a Rolling Back a VNF LCM Operation and the operation is successful ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.3.11 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.11 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in ROLLED_BACK state @@ -37,7 +37,7 @@ Rollback VNF LCM Operation - Unsuccessful ... Test title: Rollback VNF LCM Operation - Unsuccessful ... Test objective: The objective is to test the workflow for a Rollback VNF LCM Operation and the operation is not successful ... Pre-conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state. NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.10 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM ... Post-Conditions: The VNF lifecycle management operation occurrence is in FAILED_TEMP state diff --git a/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot b/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot index 0f0249b7fc894277727da9bfacb01399b13acb69..acf2f998b236122fdfcd294b4ac6f90c383c685f 100644 --- a/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/RollbackOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library DependencyLibrary Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -15,7 +15,7 @@ Post Rollback operation task ... Test title: Post Rollback operation task ... Test objective: The objective is to test that POST method initiates rollback on a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method initiates a rollback on a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -67,7 +67,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -79,7 +79,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -91,7 +91,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.15.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: diff --git a/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleManagement-API.json b/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleManagement-API.json deleted file mode 100644 index 78562e7e3576e08b8eafe81887c9b6477175955f..0000000000000000000000000000000000000000 --- a/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleManagement-API.json +++ /dev/null @@ -1,24174 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL003 - VNF Lifecycle Management interface", - "description": "SOL003 - VNF Lifecycle Management interface definition\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 003 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf" - }, - "basePath": "/vnflcm/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/vnf_instances": { - "post": { - "description": "Create VNF Identifier\n\nThe POST method creates a new VNF instance resource.\n", - "parameters": [ - { - "name": "createVnfRequest", - "description": "The VNF creation parameters", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "vnfdId" - ], - "properties": { - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Human-readable name of the VNF instance to be created.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance to be created.\n", - "type": "string" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "A VNF Instance identifier was created successfully", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "422": { - "description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query VNF\n\nThe GET method queries information about multiple VNF instances.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nInformation about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "Query VNF\n\nThe GET method retrieves information about a VNF instance by reading an individual VNF instance resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nInformation about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "patch": { - "description": "Modify VNF Information\n\nThis method modifies an individual VNF instance resource. Changes to the VNF configurable properties are applied to the configuration in the VNF instance, and are reflected in the representation of this resource. Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the representation of this resource\n", - "parameters": [ - { - "name": "VnfInfoModificationRequest", - "description": "Input parameters for VNF info modification.\n", - "required": true, - "in": "body", - "schema": { - "description": "This type represents attribute modifications for an \"Individual VNF instance\" resource, i.e. modifications to a resource representation based on the \"VnfInstance\" data type.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute. \n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute. \n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "New content of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\", as defined below this table.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "application/merge-patch+json" - ] - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation. The response body shall be empty.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that another LCM operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Delete VNF Identifier\n\nThis method deletes an individual VNF instance resource.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe VNF instance resource and the associated VNF identifier were deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/instantiate": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Instantiate VNF\n\nThe POST method instantiates a VNF instance.\n", - "parameters": [ - { - "name": "InstantiateVnfRequest", - "description": "Parameters for the VNF instantiation.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "flavourId" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be\n absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a\n to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data. \n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. \n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by the NFVO.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "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" - } - } - } - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "localizationLanguage": { - "description": "Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. The response body shall be empty. The HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/scale": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be scaled. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Scale VNF\n\nThe POST method requests to scale a VNF instance resource incrementally.\n", - "parameters": [ - { - "name": "ScaleVnfRequest", - "description": "Parameters for the scale VNF operation.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "type", - "aspectId" - ], - "properties": { - "type": { - "description": "Indicates the type of the scale operation requested. Permitted values: * SCALE_OUT: adding additional VNFC instances to the VNF to increase\n capacity\n* SCALE_IN: removing VNFC instances from the VNF in order to release\n 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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the VNF instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/scale_to_level": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be scaled to a target level. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Scale VNF to Level\n\nThe POST method requests to scale a VNF instance resource to a target level.\n", - "parameters": [ - { - "name": "ScaleVnfToLevelRequest", - "description": "Parameters for the scale VNF to Level operation.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents request parameters for the \"Scale VNF to Level\" operation.\n", - "type": "object", - "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" - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the VNF instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/change_flavour": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "The identifier of the VNF instance of which the deployment flavour is requested to be changed. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Change VNF Flavour\n\nThe POST method changes the deployment flavour of a VNF instance.\n", - "parameters": [ - { - "name": "ChangeVnfFlavourRequest", - "description": "Parameters for the Change VNF Flavour operation.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents request parameters for the \"Change VNF flavour\" operation.\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.\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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be\n absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a\n to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data. \n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. \n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by the NFVO.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "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" - } - } - } - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the VNF instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/terminate": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "The identifier of the VNF instance to be terminated. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Terminate VNF\n\nThe POST method terminates a VNF instance.\n", - "parameters": [ - { - "name": "TerminateVnfRequest", - "description": "Parameters for the VNF termination.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "terminationType" - ], - "properties": { - "terminationType": { - "description": "Indicates whether forceful or graceful termination is requested. Permitted values: * FORCEFUL: The VNFM will shut down the VNF and release the\n 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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/heal": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be healed. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Heal VNF\n\nThe POST method requests to heal a VNF instance resource.\n", - "parameters": [ - { - "name": "HealVnfRequest", - "description": "Parameters for the Heal VNF operation.", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "cause": { - "description": "Indicates the reason why a healing procedure is required.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the VNF instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/operate": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance to be operated. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Operate VNF\n\nThe POST method changes the operational state of a VNF instance resource.\n", - "parameters": [ - { - "name": "OperateVnfRequest", - "description": "Parameters for the Operate VNF operation.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents request parameters for the \"Operate VNF\" operation.\n", - "type": "object", - "required": [ - "changeStateTo" - ], - "properties": { - "changeStateTo": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "stopType": { - "description": "* FORCEFUL: The VNFM will stop the VNF immediately after accepting the\n request.\n* GRACEFUL: The VNFM will first arrange to take the VNF out of service\n after accepting the request. Once that operation is successful or once\n the timer value specified in the \"gracefulStopTimeout\" attribute\n expires, the VNFM will stop the VNF.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the VNF instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_instances/{vnfInstanceId}/change_ext_conn": { - "parameters": [ - { - "name": "vnfInstanceId", - "description": "Identifier of the VNF instance of which the external connectivity is requested to be changed. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "description": "Change External VNF Connectivity\n\nThe POST method changes the external connectivity of a VNF instance.\n", - "parameters": [ - { - "name": "ChangeExtVnfConnectivityRequest", - "description": "Parameters for the Change external VNF connectivity operation.\n", - "in": "body", - "required": true, - "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).\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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be\n absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a\n to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data. \n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. \n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "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.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "instantiationState": { - "description": "The instantiation state of the VNF.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "instantiatedVnfInfo": { - "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", - "type": "object", - "required": [ - "flavourId", - "vnfState" - ], - "properties": { - "flavourId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. \n", - "type": "object", - "required": [ - "macAddress" - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - } - } - } - } - } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "indicators": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scaleToLevel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeFlavour": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "operate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "changeExtConn": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that another LCM operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs": { - "get": { - "description": "Get Operation Status\n\nThe client can use this method to query status information about multiple VNF lifecycle management operation occurrences.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nStatus information for zero or more VNF lifecycle management operation occurrences was queried successfully. The response body shall contain status information about zero or more VNF lifecycle operation occurrences.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "isCancelPending": { - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs. \n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "grant": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "description": "Get Operation Status\n\nThe client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an individual \"VNF LCM operation occurrence\" resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nInformation about an individual VNF instance was queried successfully. The response body shall contain status information about a VNF lifecycle management operation occurrence.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "isCancelPending": { - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs. \n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "grant": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be retried. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the VNF LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be be rolled back. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"VNF LCM operation occurrence\" resource is in \"FAILED_TEMP\" state.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the VNF LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be be marked as \"failed\". This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method marks a VNF lifecycle management operation occurrence as \"finally failed\" if that operation occurrence is in \"FAILED_TEMP\" state.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe state of the VNF lifecycle management operation occurrence was changed successfully. The response shall include a representation of the VNF lifecycle operation occurrence resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a VNF lifecycle management operation occurrence.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "startTime", - "vnfInstanceId", - "operation", - "isAutomaticInvocation", - "operationParams", - "isCancelPending" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "grantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "isCancelPending": { - "description": "If the VNF LCM operation occurrence is in \"STARTING\", \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n", - "type": "object", - "properties": { - "affectedVnfcs": { - "description": "Information about VNFC instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VNFCs. \n", - "type": "object", - "required": [ - "id", - "vduId", - "changeType", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "affectedVnfcCpIds": { - "description": "Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "addedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "removedStorageResourceIds": { - "description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "affectedVirtualLinks": { - "description": "Information about VL instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "affectedVirtualStorages": { - "description": "Information about virtualised storage instances that were affected during the lifecycle operation. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "changeType", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY" - ] - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "changedInfo": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n", - "type": "object", - "properties": { - "vnfInstanceName": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimConnectionInfo": { - "description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId†attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "grant": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the VNF LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel": { - "parameters": [ - { - "name": "vnfLcmOpOccId", - "description": "Identifier of a VNF lifecycle management operation occurrence to be be cancelled. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "description": "The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related \"VNF LCM operation occurrence\" is either in \"PROCESSING\" or \"ROLLING_BACK\" state.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nError: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the VNF LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF LCM operation occurrence resource. Typically, this is due to the fact that the operation occurrence is not in STARTING, PROCESSING or ROLLING_BACK state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "description": "Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created†response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other†response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "LccnSubscriptionRequest", - "description": "Details of the subscription to be created.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a subscription request related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "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\n HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n 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\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "303": { - "description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query Subscription Information\n\nThe GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "Query Subscription Information\n\nThe GET method retrieves information about a subscription by reading an individual subscription resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProductName" - ], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfSoftwareVersion" - ], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "VnfLcmOperationOccurrenceNotification", - "VnfIdentifierCreationNotification", - "VnfIdentifierDeletionNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ STARTING | The LCM operation is starting. PROCESSING | The LCM operation is currently in execution. COMPLETED | he LCM operation has been completed successfully. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "STARTING", - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Terminate Subscription\n\nThe DELETE method terminates an individual subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleManagement-API.yaml b/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleManagement-API.yaml deleted file mode 100644 index 69590be246383deac674d613cfab64e789bbe335..0000000000000000000000000000000000000000 --- a/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleManagement-API.yaml +++ /dev/null @@ -1,34385 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL003 - VNF Lifecycle Management interface - description: > - SOL003 - VNF Lifecycle Management interface definition - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering - mechanism is defined. This mechanism is currently not included in the - corresponding OpenAPI design for this GS version. Changes to the - attribute-based filtering mechanism are being considered in v2.5.1 of this - GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf -basePath: /vnflcm/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -paths: - /vnf_instances: - post: - description: | - Create VNF Identifier - - The POST method creates a new VNF instance resource. - parameters: - - name: createVnfRequest - description: The VNF creation parameters - in: body - required: true - schema: - type: object - required: - - vnfdId - properties: - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: | - Human-readable name of the VNF instance to be created. - type: string - vnfInstanceDescription: - description: | - Human-readable description of the VNF instance to be created. - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '201': - description: A VNF Instance identifier was created successfully - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '422': - description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. NOTE 2: - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: | - Query VNF - - The GET method queries information about multiple VNF instances. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - Information about zero or more VNF instances was queried - successfully. The response body shall contain representations of - zero or more VNF instances. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified - with the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This - attribute can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from - the VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from - the VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall - comply with the provisions defined in clause 4 of IETF RFC - 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing - the resources for the VNF instance. This attribute shall - only be supported and present if VNF-related resource - management in direct mode is applicable. This attribute can - be modified with the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be - configured into the VNFM by means outside the scope of the - present document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as - new types or versions of VIMs become available. The - ETSI NFV registry of VIM-related information provides - access to information about VimConnectionInfo - definitions for various VIM types. The structure of - the registry is defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined - in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined - in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined - in clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. - Represents for every scaling aspect how "big" the VNF - has been scaled w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= - maxScaleLevel as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of - layer and protocol in future versions of the - present document in a backwards-compatible - way. In the current version of the present - document, only IP over Ethernet is - supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link - port of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource - that is used by a VNF instance. Information - about the resource is available from the - VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource - that is used by a VNF instance. Information - about the resource is available from the - VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, - as defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the - VNFM (e.g. obtained for autoscaling purposes). The - type of the "value" attribute (i.e. scalar, - structure (Object in JSON), or array (of scalars, - arrays or structures/Objects)) is assumed to be - defined in an external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should - be formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the - VNFD, and localization language selection can take place - at instantiation time. The value shall comply with the - format defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item - in the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when - that particular CP of the VNFC instance is - associated to an external CP of the VNF instance. - May be present otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of key- value pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource - that is used by a VNF instance. Information - about the resource is available from the - VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of - being globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of key- value pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used - as storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. - The order of the pairs in the list is not - significant. In JSON, a set of key- value pairs is - represented as an object. It shall comply with the - provisions defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall - comply with the provisions defined in clause 4 of IETF RFC - 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall - comply with the provisions defined in clause 4 of IETF RFC - 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: > - Query VNF - - - The GET method retrieves information about a VNF instance by reading an - individual VNF instance resource. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '200': - description: > - OK - - Information about zero or more VNF instances was queried - successfully. The response body shall contain representations of - zero or more VNF instances. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - patch: - description: > - Modify VNF Information - - - This method modifies an individual VNF instance resource. Changes to the - VNF configurable properties are applied to the configuration in the VNF - instance, and are reflected in the representation of this resource. - Other changes are applied to the VNF instance information managed by the - VNFM, and are reflected in the representation of this resource - parameters: - - name: VnfInfoModificationRequest - description: | - Input parameters for VNF info modification. - required: true - in: body - schema: - description: > - This type represents attribute modifications for an "Individual - VNF instance" resource, i.e. modifications to a resource - representation based on the "VnfInstance" data type. - type: object - properties: - vnfInstanceName: - description: > - New value of the "vnfInstanceName" attribute in "VnfInstance", - or "null" to remove the attribute. - type: string - vnfInstanceDescription: - description: > - New value of the "vnfInstanceDescription" attribute in - "VnfInstance", or "null" to remove the attribute. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - New content of certain entries in the "vimConnectionInfo" - attribute array in "VnfInstance", as defined below this table. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - type: string - enum: - - application/merge-patch+json - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. The response body shall be empty. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that another LCM operation is ongoing. The response body - shall contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - Delete VNF Identifier - - This method deletes an individual VNF instance resource. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '204': - description: > - No Content - - The VNF instance resource and the associated VNF identifier were - deleted successfully. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in INSTANTIATED state. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '412': - description: > - Precondition Failed - - A precondition given in an HTTP request header is not fulfilled. - Typically, this is due to an ETag mismatch, indicating that the - resource was modified by another entity. The response body should - contain a ProblemDetails structure, in which the "detail" attribute - should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/instantiate': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - post: - description: | - Instantiate VNF - - The POST method instantiates a VNF instance. - parameters: - - name: InstantiateVnfRequest - description: Parameters for the VNF instantiation. - in: body - required: true - schema: - type: object - required: - - flavourId - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - instantiationLevelId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - extVirtualLinks: - description: | - Information about external VLs to connect the VNF to. - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extManagedVirtualLinks: - description: | - Information about internal VLs that are managed by the NFVO. - type: array - items: - type: object - required: - - id - - virtualLinkDescId - - resourceId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - virtualLinkDescId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance, or refer to external / - externally-managed virtual links. This attribute shall only be - supported and may be present if VNF-related resource - management in direct mode is applicable. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - localizationLanguage: - description: > - Localization language of the VNF to be instantiated. The value - shall comply with the format defined in IETF RFC 5646. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. The response body shall be empty. The HTTP response - shall include a "Location" HTTP header that contains the URI of the - newly-created "VNF LCM operation occurrence" resource corresponding - to the operation. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in INSTANTIATED state. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/scale': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: | - Scale VNF - - The POST method requests to scale a VNF instance resource incrementally. - parameters: - - name: ScaleVnfRequest - description: Parameters for the scale VNF operation. - in: body - required: true - schema: - type: object - required: - - type - - aspectId - properties: - type: - description: > - Indicates the type of the scale operation requested. Permitted - values: * SCALE_OUT: adding additional VNFC instances to the - VNF to increase - capacity - * SCALE_IN: removing VNFC instances from the VNF in order to - release - unused capacity. - type: string - enum: - - SCALE_OUT - - SCALE_IN - aspectId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - numberOfSteps: - description: > - Number of scaling steps to be executed as part of this Scale - VNF operation. It shall be a positive number and the default - value shall be 1. - type: integer - default: 1 - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also returned if the task is not supported for the VNF - instance represented by the parent resource, which means that the - task resource consequently does not exist. In this case, the - response body shall be present, and shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/scale_to_level': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be scaled to a target level. This - identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a POST request creating a - new VNF instance resource. It can also be retrieved from the "id" - attribute in the payload body of that response. - in: path - type: string - required: true - post: - description: > - Scale VNF to Level - - - The POST method requests to scale a VNF instance resource to a target - level. - parameters: - - name: ScaleVnfToLevelRequest - description: Parameters for the scale VNF to Level operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Scale VNF to - Level" operation. - type: object - properties: - instantiationLevelId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - scaleInfo: - description: > - For each scaling aspect of the current deployment flavour, - indicates the target scale level to which the VNF is to be - scaled. Either the instantiationLevelId attribute or the - scaleInfo attribute shall be included. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall be 0 - and the maximum value shall be <= maxScaleLevel as - described in the VNFD. - type: integer - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also returned if the task is not supported for the VNF - instance represented by the parent resource, which means that the - task resource consequently does not exist. In this case, the - response body shall be present, and shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/change_flavour': - parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance of which the deployment flavour is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - post: - description: | - Change VNF Flavour - - The POST method changes the deployment flavour of a VNF instance. - parameters: - - name: ChangeVnfFlavourRequest - description: Parameters for the Change VNF Flavour operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Change VNF - flavour" operation. - type: object - required: - - newFlavourId - properties: - newFlavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - instantiationLevelId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - extVirtualLinks: - description: | - Information about external VLs to connect the VNF to. - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extManagedVirtualLinks: - description: | - Information about internal VLs that are managed by the NFVO. - type: array - items: - type: object - required: - - id - - virtualLinkDescId - - resourceId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - virtualLinkDescId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance, or refer to external / - externally-managed virtual links. This attribute shall only be - supported and may be present if VNF-related resource - management in direct mode is applicable. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also returned if the task is not supported for the VNF - instance represented by the parent resource, which means that the - task resource consequently does not exist. In this case, the - response body shall be present, and shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/terminate': - parameters: - - name: vnfInstanceId - description: > - The identifier of the VNF instance to be terminated. This identifier - can be retrieved from the resource referenced by the "Location" HTTP - header in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: | - Terminate VNF - - The POST method terminates a VNF instance. - parameters: - - name: TerminateVnfRequest - description: Parameters for the VNF termination. - in: body - required: true - schema: - type: object - required: - - terminationType - properties: - terminationType: - description: > - Indicates whether forceful or graceful termination is - requested. Permitted values: * FORCEFUL: The VNFM will shut - down the VNF and release the - resources immediately after accepting the request. - * GRACEFUL: The VNFM will first arrange to take the VNF out of - service after accepting the request. Once the operation of - taking the VNF out of service finishes (irrespective of - whether it has succeeded or failed) or once the timer value - specified in the "gracefulTerminationTimeout" attribute - expires, the VNFM will shut down the VNF and release the - resources. - type: string - enum: - - FORCEFUL - - GRACEFUL - gracefulTerminationTimeout: - description: > - This attribute is only applicable in case of graceful - termination. It defines the time to wait for the VNF to be - taken out of service before shutting down the VNF and - releasing the resources. The unit is seconds. If not given and - the "terminationType" attribute is set to "GRACEFUL", it is - expected that the VNFM waits for the successful taking out of - service of the VNF, no matter how long it takes, before - shutting down the VNF and releasing the resources. - type: integer - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/heal': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be healed. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: | - Heal VNF - - The POST method requests to heal a VNF instance resource. - parameters: - - name: HealVnfRequest - description: Parameters for the Heal VNF operation. - in: body - required: true - schema: - type: object - properties: - cause: - description: | - Indicates the reason why a healing procedure is required. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also returned if the task is not supported for the VNF - instance represented by the parent resource, which means that the - task resource consequently does not exist. In this case, the - response body shall be present, and shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/operate': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance to be operated. This identifier can be - retrieved from the resource referenced by the "Location" HTTP header - in the response to a POST request creating a new VNF instance - resource. It can also be retrieved from the "id" attribute in the - payload body of that response. - in: path - type: string - required: true - post: - description: > - Operate VNF - - - The POST method changes the operational state of a VNF instance - resource. - parameters: - - name: OperateVnfRequest - description: Parameters for the Operate VNF operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Operate VNF" - operation. - type: object - required: - - changeStateTo - properties: - changeStateTo: - type: string - enum: - - STARTED - - STOPPED - stopType: - description: > - * FORCEFUL: The VNFM will stop the VNF immediately after - accepting the - request. - * GRACEFUL: The VNFM will first arrange to take the VNF out of - service - after accepting the request. Once that operation is successful or once - the timer value specified in the "gracefulStopTimeout" attribute - expires, the VNFM will stop the VNF. - 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. - type: integer - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also returned if the task is not supported for the VNF - instance represented by the parent resource, which means that the - task resource consequently does not exist. In this case, the - response body shall be present, and shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is in NOT-INSTANTIATED - state, or that another lifecycle management operation is ongoing. - The response body shall contain a ProblemDetails structure, in which - the "detail" attribute should convey more information about the - error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_instances/{vnfInstanceId}/change_ext_conn': - parameters: - - name: vnfInstanceId - description: > - Identifier of the VNF instance of which the external connectivity is - requested to be changed. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to a - POST request creating a new VNF instance resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - post: - description: | - Change External VNF Connectivity - - The POST method changes the external connectivity of a VNF instance. - parameters: - - name: ChangeExtVnfConnectivityRequest - description: | - Parameters for the Change external VNF connectivity operation. - in: body - required: true - schema: - description: > - This type represents request parameters for the "Change external - VNF connectivity" operation to modify the external connectivity of - a VNF instance. - type: object - required: - - extVirtualLinks - properties: - extVirtualLinks: - description: > - Information about external VLs to change (e.g. connect the VNF - to). - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - 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. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. On success, the HTTP response shall include a - "Location" HTTP header that contains the URI of the newly-created - "VNF LCM operation occurrence" resource corresponding to the - operation. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - vnfPkgId - - instantiationState - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceName: - description: > - Name of the VNF instance. This attribute can be modified with - the PATCH method. - type: string - vnfInstanceDescription: - description: > - Human-readable description of the VNF instance. This attribute - can be modified with the PATCH method. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF and the VNFD. The value is copied from the - VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF Product. The value is copied from the - VNFD. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - Information about VIM connections to be used for managing the - resources for the VNF instance. This attribute shall only be - supported and present if VNF-related resource management in - direct mode is applicable. This attribute can be modified with - the PATCH method. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - instantiationState: - description: | - The instantiation state of the VNF. - type: string - enum: - - NOT_INSTANTIATED - - INSTANTIATED - instantiatedVnfInfo: - description: > - Information specific to an instantiated VNF instance. This - attribute shall be present if the instantiateState attribute - value is INSTANTIATED. - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vnfState: - type: string - enum: - - STARTED - - STOPPED - scaleStatus: - description: > - Scale status of the VNF, one entry per aspect. Represents - for every scaling aspect how "big" the VNF has been scaled - w.r.t. that aspect. - type: array - items: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - scaleLevel: - description: > - Indicates the scale level. The minimum value shall - be 0 and the maximum value shall be <= maxScaleLevel - as described in the VNFD. - type: integer - extCpInfo: - description: > - Information about the external CPs exposed by the VNF - instance. - type: array - minItems: 1 - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) that a - CP uses together with protocol-related - information, like addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and protocol(s) - associated to the network address - information. Permitted values: - IP_OVER_ETHERNET This attribute allows to - signal the addition of further types of layer - and protocol in future versions of the present - document in a backwards-compatible way. In the - current version of the present document, only - IP over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string that - consists of groups of two hexadecimal - digits, separated by hyphens or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - extLinkPortId: - description: > - An identifier with the intention of being globally - unique. - type: string - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is - connected to. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port - of an external VL, i.e. a port providing - connectivity for the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - extManagedVirtualLinkInfo: - description: | - External virtual links the VNF instance is connected to. - type: array - items: - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - vnfLinkPorts: - description: | - Link ports of this VL. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - monitoringParameters: - description: | - Active monitoring parameters. - type: array - items: - type: object - required: - - id - - value - - timeStamp - properties: - id: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - name: - description: > - Human readable name of the monitoring parameter, as - defined in the VNFD. - type: string - value: - description: > - Value of the monitoring parameter known to the VNFM - (e.g. obtained for autoscaling purposes). The type - of the "value" attribute (i.e. scalar, structure - (Object in JSON), or array (of scalars, arrays or - structures/Objects)) is assumed to be defined in an - external measurement specification. - type: object - timeStamp: - description: > - Represents the point in time when the measurement - has been performed, as known to the VNFM. Should be - formatted according to ETF RFC 3339. - type: string - localizationLanguage: - description: > - Information about localization language of the VNF - (includes e.g. strings in the VNFD). The localization - languages supported by a VNF can be declared in the VNFD, - and localization language selection can take place at - instantiation time. The value shall comply with the format - defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage - resources used by the VNFCs of the VNF instance. - type: array - items: - description: > - This type represents the information on virtualised - compute and storage resources used by a VNFC in a VNF - instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - storageResourceIds: - description: > - References to the VirtualStorage resources. The - value refers to a VirtualStorageResourceInfo item in - the VnfInstance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfcCpInfo: - description: > - CPs of the VNFC instance. Shall be present when that - particular CP of the VNFC instance is associated to - an external CP of the VNF instance. May be present - otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vnfExtCpId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - cpProtocolInfo: - description: | - Network protocol information for this CP. - type: array - items: - description: > - This type describes the protocol layer(s) - that a CP uses together with - protocol-related information, like - addresses. - required: - - layerProtocol - properties: - layerProtocol: - description: > - The identifier of layer(s) and - protocol(s) associated to the network - address information. Permitted values: - IP_OVER_ETHERNET This attribute allows - to signal the addition of further types - of layer and protocol in future versions - of the present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents information about a - network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - Addresses assigned to the CP instance. - Each entry represents IP addresses - assigned by fixed or dynamic IP address - assignment per subnet. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - addresses: - description: > - Fixed addresses assigned (from the - subnet defined by "subnetId" if - provided). - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - isDynamic: - description: > - Indicates whether this set of addresses - was assigned dynamically (true) or based - on address information provided as input - from the API consumer (false). Shall be - present if "addresses" is present and - shall be absent otherwise. - type: boolean - addressRange: - description: > - An IP address range used, e.g., in case - of egress connections. Exactly one of - "addresses" or "addressRange" shall be - present. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - vnfLinkPortId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used - by the VLs of the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by an - internal VL instance in a VNF instance. - type: object - required: - - id - - vnfVirtualLinkDescId - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vnfVirtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfLinkPorts: - description: > - Links ports of this VL. Shall be present when the - linkPort is used for external connectivity by the - VNF (refer to VnfLinkPortInfo). May be present - otherwise. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that - allows addressing a virtualised resource that - is used by a VNF instance. Information about - the resource is available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected to - be unique within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the - VIM or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but may - not be globally unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as - storage for the VNF instance. - type: array - items: - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - indicators: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - instantiate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - terminate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scale: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - scaleToLevel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeFlavour: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - heal: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - operate: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - changeExtConn: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that another LCM operation is ongoing. The response body - shall contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /vnf_lcm_op_occs: - get: - description: > - Get Operation Status - - - The client can use this method to query status information about - multiple VNF lifecycle management operation occurrences. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - Status information for zero or more VNF lifecycle management - operation occurrences was queried successfully. The response body - shall contain status information about zero or more VNF lifecycle - operation occurrences. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a VNF lifecycle management operation - occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - operationParams - - isCancelPending - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: > - Value | Description ------|------------ STARTING | The LCM - operation is starting. PROCESSING | The LCM operation is - currently in execution. COMPLETED | he LCM operation has been - completed successfully. FAILED_TEMP | The LCM operation has - failed and execution has stopped, but the execution of the - operation is not considered to be closed. FAILED | The LCM - operation has failed and it cannot be retried or rolled back, - as it is determined that such action won't succeed. - ROLLING_BACK | The LCM operation is currently being rolled - back. ROLLED_BACK | The LCM operation has been successfully - rolled back, i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - stateEnteredTime: - description: | - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: | - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - grantId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - operationParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - isCancelPending: - description: > - If the VNF LCM operation occurrence is in "STARTING", - "PROCESSING" or "ROLLING_BACK" state and the operation is - being cancelled, this attribute shall be set to true. - Otherwise, it shall be set to false. - type: boolean - cancelMode: - description: > - Cancellation mode. GRACEFUL: If the VNF LCM operation - occurrence is in "PROCESSING" or "ROLLING_BACK" state, the - VNFM shall not start any new resource management operation and - shall wait for the ongoing resource management operations in - the underlying system, typically the VIM, to finish execution - or to time out. After that, the VNFM shall put the operation - occurrence into the FAILED_TEMP state. If the VNF LCM - operation occurrence is in "STARTING" state, the VNFM shall - not start any resource management operation and shall wait for - the granting request to finish execution or time out. After - that, the VNFM shall put the operation occurrence into the - ROLLED_BACK state. FORCEFUL: If the VNF LCM operation - occurrence is in "PROCESSING" or "ROLLING_BACK" state, the - VNFM shall not start any new resource management operation, - shall cancel the ongoing resource management operations in the - underlying system, typically the VIM, and shall wait for the - cancellation to finish or to time out. After that, the VNFM - shall put the operation occurrence into the FAILED_TEMP - state. If the VNF LCM operation occurrence is in "STARTING" - state, the VNFM shall not start any resource management - operation and put the operation occurrence into the - ROLLED_BACK state. - type: string - enum: - - GRACEFUL - - FORCEFUL - error: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so far by - the LCM operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVnfc structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were - affected by the change. Shall be present for those - affected CPs of the VNFC instance that are - associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC - instance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been added. Each value refers to a - VirtualStorageResourceInfo item in the VnfInstance - that was added to the VNFC. It shall be provided if - at least one storage resource was added to the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been removed. The value contains the identifier of a - VirtualStorageResourceInfo item that has been - removed from the VNFC, and might no longer exist in - the VnfInstance. It shall be provided if at least - one storage resource was removed from the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - affectedVirtualLinks: - description: > - Information about VL instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY * - LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary - resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were - affected during the lifecycle operation. This allows the - NFVO to obtain the information contained in the latest - "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVirtualStorage - structure exists as long as the temporary resource - exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - changedInfo: - description: > - This type represents attribute modifications that were - performed on an "Individual VNF instance" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the "VnfInfoModificationRequest" - data structure, and additional attributes of the "VnfInstance" - data structure that were modified implicitly e.g. when - modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of - certain entries in the "vimConnectionInfo" attribute array - in "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the - Or-Vnfm interface. Additional parameters for a VIM may - be configured into the VNFM by means outside the scope - of the present document, and bound to the identifier of - that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and - "accessInfo" attributes, based on the type of the - VIM. The set of permitted values is expected to - change over time as new types or versions of VIMs - become available. The ETSI NFV registry of - VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of - this attribute from the VNFD in the VNF Package identified - by the "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, - this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a - request to modify the "vnfPkgId" attribute, by copying the - value of this attribute from the VNFD in the VNF Package - identified by the "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - changedExtConnectivity: - description: > - Information about changed external connectivity, if - applicable. This allows the NFVO to obtain the information - contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured - subscription filter. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port of - an external VL, i.e. a port providing connectivity for - the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - grant: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - cancel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - retry: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - rollback: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - fail: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence. This - identifier can be retrieved from the resource referenced by the - "Location" HTTP header in the response to a PATCH or POST request - triggering a VNF LCM operation. It can also be retrieved from the - "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - get: - description: > - Get Operation Status - - - The client can use this method to retrieve status information about a - VNF lifecycle management operation occurrence by reading an individual - "VNF LCM operation occurrence" resource. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - Information about an individual VNF instance was queried - successfully. The response body shall contain status information - about a VNF lifecycle management operation occurrence. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a VNF lifecycle management operation - occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - operationParams - - isCancelPending - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: > - Value | Description ------|------------ STARTING | The LCM - operation is starting. PROCESSING | The LCM operation is - currently in execution. COMPLETED | he LCM operation has been - completed successfully. FAILED_TEMP | The LCM operation has - failed and execution has stopped, but the execution of the - operation is not considered to be closed. FAILED | The LCM - operation has failed and it cannot be retried or rolled back, - as it is determined that such action won't succeed. - ROLLING_BACK | The LCM operation is currently being rolled - back. ROLLED_BACK | The LCM operation has been successfully - rolled back, i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - stateEnteredTime: - description: | - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: | - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - grantId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - operationParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - isCancelPending: - description: > - If the VNF LCM operation occurrence is in "STARTING", - "PROCESSING" or "ROLLING_BACK" state and the operation is - being cancelled, this attribute shall be set to true. - Otherwise, it shall be set to false. - type: boolean - cancelMode: - description: > - Cancellation mode. GRACEFUL: If the VNF LCM operation - occurrence is in "PROCESSING" or "ROLLING_BACK" state, the - VNFM shall not start any new resource management operation and - shall wait for the ongoing resource management operations in - the underlying system, typically the VIM, to finish execution - or to time out. After that, the VNFM shall put the operation - occurrence into the FAILED_TEMP state. If the VNF LCM - operation occurrence is in "STARTING" state, the VNFM shall - not start any resource management operation and shall wait for - the granting request to finish execution or time out. After - that, the VNFM shall put the operation occurrence into the - ROLLED_BACK state. FORCEFUL: If the VNF LCM operation - occurrence is in "PROCESSING" or "ROLLING_BACK" state, the - VNFM shall not start any new resource management operation, - shall cancel the ongoing resource management operations in the - underlying system, typically the VIM, and shall wait for the - cancellation to finish or to time out. After that, the VNFM - shall put the operation occurrence into the FAILED_TEMP - state. If the VNF LCM operation occurrence is in "STARTING" - state, the VNFM shall not start any resource management - operation and put the operation occurrence into the - ROLLED_BACK state. - type: string - enum: - - GRACEFUL - - FORCEFUL - error: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so far by - the LCM operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVnfc structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were - affected by the change. Shall be present for those - affected CPs of the VNFC instance that are - associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC - instance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been added. Each value refers to a - VirtualStorageResourceInfo item in the VnfInstance - that was added to the VNFC. It shall be provided if - at least one storage resource was added to the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been removed. The value contains the identifier of a - VirtualStorageResourceInfo item that has been - removed from the VNFC, and might no longer exist in - the VnfInstance. It shall be provided if at least - one storage resource was removed from the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - affectedVirtualLinks: - description: > - Information about VL instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY * - LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary - resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were - affected during the lifecycle operation. This allows the - NFVO to obtain the information contained in the latest - "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVirtualStorage - structure exists as long as the temporary resource - exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - changedInfo: - description: > - This type represents attribute modifications that were - performed on an "Individual VNF instance" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the "VnfInfoModificationRequest" - data structure, and additional attributes of the "VnfInstance" - data structure that were modified implicitly e.g. when - modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of - certain entries in the "vimConnectionInfo" attribute array - in "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the - Or-Vnfm interface. Additional parameters for a VIM may - be configured into the VNFM by means outside the scope - of the present document, and bound to the identifier of - that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and - "accessInfo" attributes, based on the type of the - VIM. The set of permitted values is expected to - change over time as new types or versions of VIMs - become available. The ETSI NFV registry of - VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of - this attribute from the VNFD in the VNF Package identified - by the "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, - this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a - request to modify the "vnfPkgId" attribute, by copying the - value of this attribute from the VNFD in the VNF Package - identified by the "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - changedExtConnectivity: - description: > - Information about changed external connectivity, if - applicable. This allows the NFVO to obtain the information - contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured - subscription filter. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port of - an external VL, i.e. a port providing connectivity for - the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - grant: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - cancel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - retry: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - rollback: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - fail: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Another request is in progress that prohibits the fulfilment of the - current request, or the current resource state is inconsistent with - the request. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be - retried. This identifier can be retrieved from the resource referenced - by the "Location" HTTP header in the response to a PATCH or POST - request triggering a VNF LCM operation. It can also be retrieved from - the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method initiates retrying a VNF lifecycle operation if that - operation has experienced a temporary failure, i.e. the related "VNF LCM - operation occurrence" resource is in "FAILED_TEMP" state. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but processing has not been - completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also be returned if the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, which means - that the task resource consequently does not exist. In this case, - the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall - convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is not in FAILED_TEMP state, - or another error handling action is starting, such as rollback or - fail. The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be be - rolled back. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH or - POST request triggering a VNF LCM operation. It can also be retrieved - from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method initiates rolling back a VNF lifecycle operation if that - operation has experienced a temporary failure, i.e. the related "VNF LCM - operation occurrence" resource is in "FAILED_TEMP" state. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but processing has not been - completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also be returned if the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, which means - that the task resource consequently does not exist. In this case, - the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall - convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is not in FAILED_TEMP state, - or another error handling action is starting, such as rollback or - fail. The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be be - marked as "failed". This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH or - POST request triggering a VNF LCM operation. It can also be retrieved - from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method marks a VNF lifecycle management operation occurrence as - "finally failed" if that operation occurrence is in "FAILED_TEMP" state. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The state of the VNF lifecycle management operation occurrence was - changed successfully. The response shall include a representation of - the VNF lifecycle operation occurrence resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a VNF lifecycle management operation - occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - operationParams - - isCancelPending - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - operationState: - description: > - Value | Description ------|------------ STARTING | The LCM - operation is starting. PROCESSING | The LCM operation is - currently in execution. COMPLETED | he LCM operation has been - completed successfully. FAILED_TEMP | The LCM operation has - failed and execution has stopped, but the execution of the - operation is not considered to be closed. FAILED | The LCM - operation has failed and it cannot be retried or rolled back, - as it is determined that such action won't succeed. - ROLLING_BACK | The LCM operation is currently being rolled - back. ROLLED_BACK | The LCM operation has been successfully - rolled back, i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - stateEnteredTime: - description: | - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: | - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - grantId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - operationParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - isCancelPending: - description: > - If the VNF LCM operation occurrence is in "STARTING", - "PROCESSING" or "ROLLING_BACK" state and the operation is - being cancelled, this attribute shall be set to true. - Otherwise, it shall be set to false. - type: boolean - cancelMode: - description: > - Cancellation mode. GRACEFUL: If the VNF LCM operation - occurrence is in "PROCESSING" or "ROLLING_BACK" state, the - VNFM shall not start any new resource management operation and - shall wait for the ongoing resource management operations in - the underlying system, typically the VIM, to finish execution - or to time out. After that, the VNFM shall put the operation - occurrence into the FAILED_TEMP state. If the VNF LCM - operation occurrence is in "STARTING" state, the VNFM shall - not start any resource management operation and shall wait for - the granting request to finish execution or time out. After - that, the VNFM shall put the operation occurrence into the - ROLLED_BACK state. FORCEFUL: If the VNF LCM operation - occurrence is in "PROCESSING" or "ROLLING_BACK" state, the - VNFM shall not start any new resource management operation, - shall cancel the ongoing resource management operations in the - underlying system, typically the VIM, and shall wait for the - cancellation to finish or to time out. After that, the VNFM - shall put the operation occurrence into the FAILED_TEMP - state. If the VNF LCM operation occurrence is in "STARTING" - state, the VNFM shall not start any resource management - operation and put the operation occurrence into the - ROLLED_BACK state. - type: string - enum: - - GRACEFUL - - FORCEFUL - error: - description: > - The definition of the general "ProblemDetails" data structure - from IETF RFC 7807 [19] is reproduced inthis structure. - Compared to the general framework defined in IETF RFC 7807 - [19], the "status" and "detail" attributes are mandated to be - included by the present document, to ensure that the response - contains additional textual information about an error. IETF - RFC 7807 [19] foresees extensibility of the "ProblemDetails" - type. It is possible that particular APIs in the present - document, or particular implementations, define extensions to - define additional attributes that provide more information - about the error. The description column only provides some - explanation of the meaning to Facilitate understanding of the - design. For a full description, see IETF RFC 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that - identifies the problem type. It is encouraged that the URI - provides human-readable documentation for the problem - (e.g. using HTML) when dereferenced. When this member is - not present, its value is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It - should not change from occurrence to occurrence of the - problem, except for purposes of localization. If type is - given and other than "about:blank", this attribute shall - also be provided. A short, human-readable summary of the - problem type. It SHOULD NOT change from occurrence to - occurrence of the problem, except for purposes of - localization (e.g., using proactive content negotiation; - see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. - The HTTP status code ([RFC7231], Section 6) generated by - the origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence - of the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of - the problem. It may yield further information if - dereferenced. - type: string - format: URI - resourceChanges: - description: > - This attribute contains information about the cumulative - changes to virtualised resources that were performed so far by - the LCM operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VNFCs. - type: object - required: - - id - - vduId - - changeType - - computeResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - vduId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVnfc structure exists - as long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - computeResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVnfcCpIds: - description: > - Identifiers of CP(s) of the VNFC instance that were - affected by the change. Shall be present for those - affected CPs of the VNFC instance that are - associated to an external CP of the VNF instance. - May be present for further affected CPs of the VNFC - instance. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - addedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been added. Each value refers to a - VirtualStorageResourceInfo item in the VnfInstance - that was added to the VNFC. It shall be provided if - at least one storage resource was added to the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - removedStorageResourceIds: - description: > - References to VirtualStorage resources that have - been removed. The value contains the identifier of a - VirtualStorageResourceInfo item that has been - removed from the VNFC, and might no longer exist in - the VnfInstance. It shall be provided if at least - one storage resource was removed from the VNFC. - type: array - items: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - affectedVirtualLinks: - description: > - Information about VL instances that were affected during - the lifecycle operation. This allows the NFVO to obtain - the information contained in the latest "result" - notification if it has not received it due to an error or - a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary VLs. - type: object - required: - - id - - virtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualLinkDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY * - LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary - resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were - affected during the lifecycle operation. This allows the - NFVO to obtain the information contained in the latest - "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - description: > - This type provides information about added, deleted, - modified and temporary virtual storage resources. - type: object - required: - - id - - virtualStorageDescId - - changeType - - storageResource - properties: - id: - description: > - An identifier that is unique for the respective type - within a VNF instance, but may not be globally - unique. - type: string - virtualStorageDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - changeType: - description: > - Signals the type of change. Permitted values: * - ADDED * REMOVED * MODIFIED * TEMPORARY For a - temporary resource, an AffectedVirtualStorage - structure exists as long as the temporary resource - exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - storageResource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a - VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or - the resource provider. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - changedInfo: - description: > - This type represents attribute modifications that were - performed on an "Individual VNF instance" resource. The - attributes that can be included consist of those requested to - be modified explicitly in the "VnfInfoModificationRequest" - data structure, and additional attributes of the "VnfInstance" - data structure that were modified implicitly e.g. when - modifying the referenced VNF package. - type: object - properties: - vnfInstanceName: - description: > - If present, this attribute signals modifications of the - "vnfInstanceName" attribute in "VnfInstance". - type: string - vnfInstanceDescription: - description: > - If present, this attribute signals modifications of the - "vnfInstanceDescription" attribute in "VnfInstance". - type: string - vnfConfigurableProperties: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - metadata: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - extensions: - description: > - This type represents a list of key-value pairs. The order - of the pairs in the list is not significant. In JSON, a - set of key- value pairs is represented as an object. It - shall comply with the provisions defined in clause 4 of - IETF RFC 7159. - type: object - vimConnectionInfo: - description: > - If present, this attribute signals modifications of - certain entries in the "vimConnectionInfo" attribute array - in "VnfInstance". - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure - is used to convey VIM-related parameters over the - Or-Vnfm interface. Additional parameters for a VIM may - be configured into the VNFM by means outside the scope - of the present document, and bound to the identifier of - that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines - the structure of the "interfaceInfo" and - "accessInfo" attributes, based on the type of the - VIM. The set of permitted values is expected to - change over time as new types or versions of VIMs - become available. The ETSI NFV registry of - VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. - In JSON, a set of key- value pairs is represented as - an object. It shall comply with the provisions - defined in clause 4 of IETF RFC 7159. - type: object - vnfPkgId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - If present, this attribute signals modifications of the - "vnfProvider" attribute in "VnfInstance". If present, this - attribute (which depends on the value of the "vnfPkgId" - attribute) was modified implicitly following a request to - modify the "vnfPkgId" attribute, by copying the value of - this attribute from the VNFD in the VNF Package identified - by the "vnfPkgId†attribute. - type: string - vnfProductName: - description: > - If present, this attribute signals modifications of the - "vnfProductName" attribute in "VnfInstance". If present, - this attribute (which depends on the value of the - "vnfPkgId" attribute) was modified implicitly following a - request to modify the "vnfPkgId" attribute, by copying the - value of this attribute from the VNFD in the VNF Package - identified by the "vnfPkgId†attribute. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - changedExtConnectivity: - description: > - Information about changed external connectivity, if - applicable. This allows the NFVO to obtain the information - contained in the latest "result" notification if it has not - received it due to an error or a wrongly configured - subscription filter. - type: array - items: - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - extLinkPorts: - description: | - Link ports of this VL. - type: array - items: - description: > - This type represents information about a link port of - an external VL, i.e. a port providing connectivity for - the VNF to an NS VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - cpInstanceId: - description: > - An identifier that is unique for the respective - type within a VNF instance, but may not be - globally unique. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - grant: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - cancel: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - retry: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - rollback: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - fail: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also be returned if the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, which means - that the task resource consequently does not exist. In this case, - the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall - convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - The operation cannot be executed currently, due to a conflict with - the state of the VNF instance resource. Typically, this is due to - the fact that the VNF instance resource is not in FAILED_TEMP state, - or another error handling action is starting, such as rollback or - fail. The response body shall contain a ProblemDetails structure, in - which the "detail" attribute should convey more information about - the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': - parameters: - - name: vnfLcmOpOccId - description: > - Identifier of a VNF lifecycle management operation occurrence to be be - cancelled. This identifier can be retrieved from the resource - referenced by the "Location" HTTP header in the response to a PATCH or - POST request triggering a VNF LCM operation. It can also be retrieved - from the "vnfLcmOpOccId" attribute in the - VnfLcmOperationOccurrenceNotification. - in: path - required: true - type: string - post: - description: > - The POST method initiates cancelling an ongoing VNF lifecycle operation - while it is being executed or rolled back, i.e. the related "VNF LCM - operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '202': - description: > - Accepted - - The request was accepted for processing, but processing has not been - completed. The response shall have an empty payload body. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - Error: The API producer did not find a current representation for - the target resource or is not willing to disclose that one exists. - Specifically in case of this task resource, the response code 404 - shall also be returned if the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, which means - that the task resource consequently does not exist. In this case, - the response body shall be present, and shall contain a - ProblemDetails structure, in which the "detail" attribute shall - convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - The operation cannot be executed currently, due to a conflict with - the state of the VNF LCM operation occurrence resource. Typically, - this is due to the fact that the operation occurrence is not in - STARTING, PROCESSING or ROLLING_BACK state. The response body shall - contain a ProblemDetails structure, in which the "detail" attribute - shall convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Subscribe - - - The POST method creates a new subscription. Creation of two subscription - resources with the same callbackURI and the same filter can result in - performance degradation and will provide duplicates of notifications to - the NFVO, and might make sense only in very rare use cases. - Consequently, the VNFM may either allow creating a subscription resource - if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the “201 Created†response - code), or may decide to not create a duplicate subscription resource (in - which case it shall return a “303 See Other†response code referencing - the existing subscription resource with the same filter and - callbackUri). - parameters: - - name: LccnSubscriptionRequest - description: | - Details of the subscription to be created. - in: body - required: true - schema: - description: > - This type represents a subscription request related to - notifications about VNF lifecycle changes. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '201': - description: > - Created - - The subscription was created successfully. The response body shall - contain a representation of the created subscription resource. The - HTTP response shall include a "Location" HTTP header that points to - the created subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '303': - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing subscription - resource. The response body shall be empty. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - - The GET method queries the list of active subscriptions of the - functional block that invokes the method. It can be used e.g. for - resynchronization after error situations. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The list of subscriptions was queried successfully. The response - body shall contain the representations of all active subscriptions - of the functional block that invokes the method. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters. The response body - shall contain a ProblemDetails structure, in which the "detail" - attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: > - Query Subscription Information - - - The GET method retrieves information about a subscription by reading an - individual subscription resource. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The operation has completed successfully. The response body shall - contain a representation of the subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about VNF lifecycle changes. At a particular - nesting level in the filter structure, the following applies: - All attributes shall match in order for the filter to match - (logical "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at least - one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - vnfInstanceSubscriptionFilter: - description: > - This type represents subscription filter criteria to match - VNF instances. - type: object - properties: - vnfdIds: - description: > - If present, match VNF instances that were created - based on a VNFD identified by one of the vnfdId values - listed in this attribute. The attributes "vnfdIds" and - "vnfProductsFromProviders" are alternatives to - reference to VNF instances that are based on certain - VNFDs in a filter. They should not be used both in the - same filter instance, but one alternative should be - chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfProductsFromProviders: - description: > - If present, match VNF instances that belong to VNF - products from certain providers. The attributes - "vnfdIds" and "vnfProductsFromProviders" are - alternatives to reference to VNF instances that are - based on certain VNFDs in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF instances that belong to - VNF products with certain product names, from - one particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF instances that - belong to VNF products with certain - versions and a certain product name, from - one particular provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A version. - type: string - vnfdVersions: - description: > - If present, match VNF instances that - belong to VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A version. - type: string - vnfInstanceIds: - description: > - If present, match VNF instances with an instance - identifier listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance - Name listed in this attribute. The attributes - "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances - in a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: string - notificationTypes: - description: > - Match particular notification types. Permitted values: * - VnfLcmOperationOccurrenceNotification * - VnfIdentifierCreationNotification * - VnfIdentifierDeletionNotification The permitted values of - the "notificationTypes" attribute are spelled exactly as - the names of the notification types to facilitate - automated code generation systems. - type: array - items: - type: string - enum: - - VnfLcmOperationOccurrenceNotification - - VnfIdentifierCreationNotification - - VnfIdentifierDeletionNotification - operationTypes: - description: > - Match particular VNF lifecycle operation types for the - notification of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE - | Represents the "Scale VNF" LCM operation. - SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM - operation. CHANGE_FLAVOUR | Represents the "Change VNF - Flavour" LCM operation. TERMINATE | Represents the - "Terminate VNF" LCM operation. HEAL | Represents the - "Heal VNF" LCM operation. OPERATE | Represents the - "Operate VNF" LCM operation. CHANGE_EXT_CONN | - Represents the "Change external VNF connectivity" LCM - operation. MODIFY_INFO | Represents the "Modify VNF - Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - operationStates: - description: > - Match particular LCM operation state values as reported in - notifications of type - VnfLcmOperationOccurrenceNotification. May be present if - the "notificationTypes" attribute contains the value - "VnfLcmOperationOccurrenceNotification", and shall be - absent otherwise. - type: array - items: - description: > - Value | Description ------|------------ STARTING | The - LCM operation is starting. PROCESSING | The LCM - operation is currently in execution. COMPLETED | he LCM - operation has been completed successfully. FAILED_TEMP | - The LCM operation has failed and execution has stopped, - but the execution of the operation is not considered to - be closed. FAILED | The LCM operation has failed and it - cannot be retried or rolled back, as it is determined - that such action won't succeed. ROLLING_BACK | The LCM - operation is currently being rolled back. ROLLED_BACK | - The LCM operation has been successfully rolled back, - i.e. The state of the VNF prior to the original - operation invocation has been restored as closely as - possible. - type: string - enum: - - STARTING - - PROCESSING - - COMPLETED - - FAILED_TEMP - - FAILED - - ROLLING_BACK - - ROLLED_BACK - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - Terminate Subscription - - The DELETE method terminates an individual subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '204': - description: > - No Content - - The subscription resource was deleted successfully. The response - body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. Specifically in case of this task resource, the - reason can also be that the task is not supported for the VNF LCM - operation occurrence represented by the parent resource, and that - the task resource consequently does not exist. The "ProblemDetails" - structure may be provided, including in the "detail" attribute - information about the sourceof the problem, e.g. a wrong resource - URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleOperationGranting-API.json b/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleOperationGranting-API.json deleted file mode 100644 index 2377aff06cf37916f44739dba27e38decc941a06..0000000000000000000000000000000000000000 --- a/SOL003/VNFLifecycleManagement-API/SOL003-VNFLifecycleOperationGranting-API.json +++ /dev/null @@ -1 +0,0 @@ -{"swagger":"2.0","info":{"version":"1.1.1","title":"SOL003 - VNF Lifecycle Operation Granting interface","description":"SOL003 - VNF Lifecycle Operation Granting interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n","license":{"name":"ETSI Forge copyright notice","url":"https://forge.etsi.org/etsi-forge-copyright-notice.txt"}},"externalDocs":{"description":"ETSI GS NFV-SOL 003 V2.4.1","url":"http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf"},"basePath":"/grant/v1","schemes":["https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/grants":{"post":{"description":"Grant Lifecycle Operation\n\nThe POST method requests a grant for a particular VNF lifecycle operation.\n","parameters":[{"name":"GrantRequest","in":"body","required":true,"schema":{"description":"This type represents a grant request.\n","type":"object","required":["vnfInstanceId","vnfLcmOpOccId","vnfdId","operation","isAutomaticInvocation","_links"],"properties":{"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLcmOpOccId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"flavourId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"operation":{"description":"Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n","type":"string","enum":["INSTANTIATE","SCALE","SCALE_TO_LEVEL","CHANGE_FLAVOUR","TERMINATE","HEAL","OPERATE","CHANGE_EXT_CONN","MODIFY_INFO"]},"isAutomaticInvocation":{"description":"Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n","type":"boolean"},"instantiationLevelId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"addResources":{"description":"List of resource definitions in the VNFD for resources to be added by the LCM operation which is related to this grant request, with one entry per resource. If the granting request is for InstantiateVNF, either instantiationLevel or addResources shall be present.\n","type":"array","items":{"description":"This type provides information of an existing or proposed resource used by the VNF.\n","type":"object","required":["id","type"],"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"},"type":{"description":"Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n","type":"string","enum":["COMPUTE","VL","STORAGE","LINKPORT"]},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resourceTemplateId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resource":{"required":["vimConnectionId","resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"Type of the resource in the scope of the VIM or the resource provider.\n","type":"string"}}}}}},"tempResources":{"description":"List of resource definitions in the VNFD for resources to be temporarily instantiated during the runtime of the LCM operation which is related to this grant request, with one entry per resource. The NFVO will assume that the VNFM will be responsible to both allocate and release the temporary resource during the runtime of the LCM operation. This means, the resource can be allocated and consumed after the \"start\" notification for the LCM operation is sent by the VNFM, and the resource will be released before the \"result\" notification of the VNF LCM operation is sent by the VNFM.\n","type":"array","items":{"description":"This type provides information of an existing or proposed resource used by the VNF.\n","type":"object","required":["id","type"],"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"},"type":{"description":"Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n","type":"string","enum":["COMPUTE","VL","STORAGE","LINKPORT"]},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resourceTemplateId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resource":{"required":["vimConnectionId","resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"Type of the resource in the scope of the VIM or the resource provider.\n","type":"string"}}}}}},"removeResources":{"description":"Provides the definitions of resources to be removed by the LCM operation which is related to this grant request, with one entry per resource.\n","type":"array","items":{"description":"This type provides information of an existing or proposed resource used by the VNF.\n","type":"object","required":["id","type"],"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"},"type":{"description":"Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n","type":"string","enum":["COMPUTE","VL","STORAGE","LINKPORT"]},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resourceTemplateId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resource":{"required":["vimConnectionId","resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"Type of the resource in the scope of the VIM or the resource provider.\n","type":"string"}}}}}},"updateResources":{"description":"Provides the definitions of resources to be modified by the LCM operation which is related to this grant request, with one entry per resource.\n","type":"array","items":{"description":"This type provides information of an existing or proposed resource used by the VNF.\n","type":"object","required":["id","type"],"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"},"type":{"description":"Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n","type":"string","enum":["COMPUTE","VL","STORAGE","LINKPORT"]},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resourceTemplateId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"resource":{"required":["vimConnectionId","resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"Type of the resource in the scope of the VIM or the resource provider.\n","type":"string"}}}}}},"placementConstraints":{"description":"Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision. If sent, the NFVO shall take the constraints into consideration when making resource placement decisions, and shall reject the grant if they cannot be honoured. The affinity/anti-affinity rules defined in the VNFD , and the placement constraints in the GrantVnfLifecycleOperation as defined in this clause should be conflict-free. In case of conflicts, the placement constraints in the GrantVnfLifecycleOperation shall take precedence. Passing constraints allows the VNFM or the lifecycle management scripts to influence resource placement decisions by the NFVO to ensure VNF properties such as performance or fault tolerance.\n","type":"array","items":{"description":"This type provides information regarding a resource placement constraint. A set of such constraints may be sent by the VNFM to the NFVO to influence the resource placement decisions made by the NFVO as part of the granting process. A placement constraint defines a condition to the placement of new resources, considering other new resources as well as existing resources. EXAMPLE: The following rules influence the placement of a set of resources such that they are placed in the same Network Function Virtualisation Infrastructure Point of Presence (NFVI-PoP) but in different resource zones: {type=\"affinity\"; scope=\"NFVI_POP\"; {resource1,resource2}} {type=\"anti-affinity\"; scope=\"ZONE\"; {resource1,resource2}}\n","type":"object","required":["affinityOrAntiAffinity","scope","resource"],"properties":{"affinityOrAntiAffinity":{"description":"The type of the constraint. Permitted values: * AFFINITY * ANTI_AFFINITY\n","type":"string","enum":["AFFINITY","ANTI_AFFINITY"]},"scope":{"description":"The scope of the placement constraint indicating the category of the \"place\" where the constraint applies. Permitted values: * NFVI_POP * ZONE * ZONE_GROUP * NFVI_NODE\n","type":"string","enum":["NFVI_POP","ZONE","ZONE_GROUP","NFVI_NODE"]},"resource":{"description":"References to resources in the constraint rule.\n","type":"array","items":{"description":"This type references a resource either by its VIM-level identifier for existing resources, or by the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure for new resources.\n","type":"object","required":["idType","resourceId"],"properties":{"idType":{"description":"The type of the identifier. Permitted values: * RES_MGMT: Resource-management-level identifier; this identifier is managed by the VIM in the direct mode of VNF-related resource\n management, and is managed by the NFVO in the indirect mode)\n* GRANT: Reference to the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure.\n","type":"string","enum":["RES_MGMT","GRANT"]},"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"},"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"}}}}}}},"vimConstraints":{"description":"Used by the VNFM to require that multiple resources are managed through the same VIM connection. If sent, the NFVO shall take the constraints into consideration when making VIM selection decisions, and shall reject the grant if they cannot be honoured. This attribute shall be supported if VNF-related Resource Management in direct mode is applicable. The applicability and further details of this attribute for indirect mode are left for future specification.\n","type":"array","items":{"description":"This type provides information regarding a VIM selection constraint. A set of such constraints may be sent by the VNFM to the NFVO to influence the VIM selection decisions made by the NFVO as part of the granting process.\n","type":"object","required":["resource"],"properties":{"sameResourceGroup":{"description":"If present and set to true, this signals that the constraint applies not only to the same VIM connection, but also to the same infrastructure resource group.\n","type":"boolean"},"resource":{"description":"References to resources in the constraint rule. The NFVO shall ensure that all resources in this list are managed through the same VIM connection. If \"sameResourceGroup\" is set to true, the NFVO shall further ensure that all resources in this list are part of the same infrastructure resource group in that VIM connection.\n","type":"array","items":{"description":"This type references a resource either by its VIM-level identifier for existing resources, or by the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure for new resources.\n","type":"object","required":["idType","resourceId"],"properties":{"idType":{"description":"The type of the identifier. Permitted values: * RES_MGMT: Resource-management-level identifier; this identifier is managed by the VIM in the direct mode of VNF-related resource\n management, and is managed by the NFVO in the indirect mode)\n* GRANT: Reference to the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure.\n","type":"string","enum":["RES_MGMT","GRANT"]},"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"},"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"}}}}}}},"additionalParams":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"_links":{"description":"Links to resources related to this request.\n","type":"object","required":["vnfLcmOpOcc","vnfInstance"],"properties":{"vnfLcmOpOcc":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"201":{"description":"Created\nThe grant was created successfully (synchronous mode). A representation of the created \"Individual grant\" resource shall be returned in the response body. The HTTP response shall include a \"Location\" HTTP header that indicates the URI of the \"Individual grant\" resource just created.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"Location":{"description":"The resource URI of the created VNF instance","type":"string","format":"url"},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"This type represents a grant.\n","type":"object","required":["id","vnfInstanceId","vnfLcmOpOccId","_links"],"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"},"vnfLcmOpOccId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimConnections":{"description":"Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. The VNFM shall update the \" vimConnectionInfo\" attribute of the \"VnfInstance\" structure by adding unknown entries received in this attribute. This attribute is not intended for the modification of VimConnection entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the \"vims\" attribute in the Grant is not greater than 1.\n","type":"array","items":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["id","vimType"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"}}}},"zones":{"description":"Identifies resource zones where the resources are approved to be allocated by the VNFM.\n","type":"array","items":{"description":"This type provides information regarding a resource zone.\n","type":"object","required":["id","zoneId"],"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"},"zoneId":{"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"}}}},"zoneGroups":{"description":"Information about groups of resource zones that are related and that the NFVO has chosen to fulfil a zoneGroup constraint in the GrantVnfLifecycleOperation request. This information confirms that the NFVO has honoured the zoneGroup constraints that were passed as part of \"placementConstraints\" in the GrantRequest.\n","type":"array","items":{"description":"This type provides information regarding a resource zone group. A resource zone group is a group of one or more related resource zones which can be used in resource placement constraints. To fulfil such constraint, the NFVO may decide to place a resource into any zone that belongs to a particular group. NOTE: A resource zone group can be used to support overflow from one resource zone into another, in case a particular deployment supports only non-elastic resource zones.\n","type":"object","required":["zoneId"],"properties":{"zoneId":{"description":"References of identifiers of \"ZoneInfo\" structures, each of which provides information about a resource zone that belongs to this group.\n","type":"array","items":{"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"}}}}},"computeReservationId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"networkReservationId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"storageReservationId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"addResources":{"description":"List of resources that are approved to be added, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"tempResources":{"description":"List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"removeResources":{"description":"List of resources that are approved to be removed, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"updateResources":{"description":"List of resources that are approved to be modified, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"vimAssets":{"description":"Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. This attribute is not intended for the modification of vimAssets entries passed earlier. Modification of VIM assets during the lifetime of a VNF instance is not necessary, since it is expected that all applicable assets have been on boarded into the VIM before the VNF is instantiated.\n","type":"object","properties":{"computeResourceFlavours":{"description":"Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.\n","type":"array","items":{"description":"If the VIM requires the use of virtual compute resource flavours during compute resource instantiation, it is assumed that such flavours are selected or created by the NFVO based on the information in the virtual compute descriptor defined in the VNFD. This type defines the mapping between a virtual compute descriptor in the VNFD and the corresponding compute resource flavour managed by the NFVO in the VIM.\n","type":"object","required":["vnfdVirtualComputeDescId","vimFlavourId"],"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"},"vnfdVirtualComputeDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimFlavourId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"softwareImages":{"description":"Mappings between software images defined in the VNFD and software images managed in the VIM.\n","type":"array","items":{"description":"This type contains a mapping between a software image definition the VNFD and the corresponding software image managed by the NFVO in the VIM which is needed during compute resource instantiation.\n","type":"object","required":["vnfdSoftwareImageId","vimSoftwareImageId"],"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"},"vnfdSoftwareImageId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimSoftwareImageId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}},"extVirtualLinks":{"description":"Information about external VLs to connect the VNF to. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\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":"List of instance data that need to be configured on the CP instances created from the respective CPD.\n","type":"array","items":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","type":"object","properties":{"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolData":{"description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","properties":{"macAddress":{"description":"A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n","type":"string","format":"MAC"},"ipAddresses":{"description":"List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}},"extLinkPorts":{"description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["vimConnectionId","resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"Type of the resource in the scope of the VIM or the resource provider.\n","type":"string"}}}}}}}}},"extManagedVirtualLinks":{"description":"Information about internal VLs that are managed by other entities than the VNFM. 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. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\n","type":"array","items":{"type":"object","required":["id","virtualLinkDescId","resourceId"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"virtualLinkDescId":{"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"}}}},"additionalParams":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self","vnfLcmOpOcc","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfLcmOpOcc":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},"202":{"description":"Accepted\nThe request was accepted for processing, but the processing has not been completed. It is expected to take some time to create the grant (asynchronous mode). The response body shall be empty. The HTTP response shall include a \"Location\" HTTP header that indicates the URI of the \"Individual grant\" resource that will be created once the granting decision has been made.\n","headers":{"Location":{"description":"The resource URI of the created VNF instance","type":"string","format":"url"},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nThe grant was rejected. A ProblemDetails structure shall be included in the response to provide more details about the rejection in the \"details\" attribute.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}},"/grants/{grantId}":{"parameters":[{"name":"grantId","description":"Identifier of the grant. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request granting a new VNF lifecycle operation. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n","in":"path","type":"string","required":true}],"get":{"description":"Grant Lifecycle Operation\n\nThe GET method retrieves information about a specific grant by reading an individual grant resource.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n","in":"header","required":true,"type":"string"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235\n","in":"header","required":false,"type":"string"}],"responses":{"200":{"description":"OK\nThe grant was read successfully. A representation of the \"individual grant\" resource shall be returned in the response body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"This type represents a grant.\n","type":"object","required":["id","vnfInstanceId","vnfLcmOpOccId","_links"],"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"},"vnfLcmOpOccId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimConnections":{"description":"Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. The VNFM shall update the \" vimConnectionInfo\" attribute of the \"VnfInstance\" structure by adding unknown entries received in this attribute. This attribute is not intended for the modification of VimConnection entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the \"vims\" attribute in the Grant is not greater than 1.\n","type":"array","items":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["id","vimType"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"}}}},"zones":{"description":"Identifies resource zones where the resources are approved to be allocated by the VNFM.\n","type":"array","items":{"description":"This type provides information regarding a resource zone.\n","type":"object","required":["id","zoneId"],"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"},"zoneId":{"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"}}}},"zoneGroups":{"description":"Information about groups of resource zones that are related and that the NFVO has chosen to fulfil a zoneGroup constraint in the GrantVnfLifecycleOperation request. This information confirms that the NFVO has honoured the zoneGroup constraints that were passed as part of \"placementConstraints\" in the GrantRequest.\n","type":"array","items":{"description":"This type provides information regarding a resource zone group. A resource zone group is a group of one or more related resource zones which can be used in resource placement constraints. To fulfil such constraint, the NFVO may decide to place a resource into any zone that belongs to a particular group. NOTE: A resource zone group can be used to support overflow from one resource zone into another, in case a particular deployment supports only non-elastic resource zones.\n","type":"object","required":["zoneId"],"properties":{"zoneId":{"description":"References of identifiers of \"ZoneInfo\" structures, each of which provides information about a resource zone that belongs to this group.\n","type":"array","items":{"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"}}}}},"computeReservationId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"networkReservationId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"storageReservationId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"addResources":{"description":"List of resources that are approved to be added, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"tempResources":{"description":"List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"removeResources":{"description":"List of resources that are approved to be removed, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"updateResources":{"description":"List of resources that are approved to be modified, with one entry per resource.\n","type":"array","items":{"description":"This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n","type":"object","required":["resourceDefinitionId"],"properties":{"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"},"reservationId":{"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"},"zoneId":{"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"},"resourceGroupId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"vimAssets":{"description":"Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. This attribute is not intended for the modification of vimAssets entries passed earlier. Modification of VIM assets during the lifetime of a VNF instance is not necessary, since it is expected that all applicable assets have been on boarded into the VIM before the VNF is instantiated.\n","type":"object","properties":{"computeResourceFlavours":{"description":"Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.\n","type":"array","items":{"description":"If the VIM requires the use of virtual compute resource flavours during compute resource instantiation, it is assumed that such flavours are selected or created by the NFVO based on the information in the virtual compute descriptor defined in the VNFD. This type defines the mapping between a virtual compute descriptor in the VNFD and the corresponding compute resource flavour managed by the NFVO in the VIM.\n","type":"object","required":["vnfdVirtualComputeDescId","vimFlavourId"],"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"},"vnfdVirtualComputeDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimFlavourId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"softwareImages":{"description":"Mappings between software images defined in the VNFD and software images managed in the VIM.\n","type":"array","items":{"description":"This type contains a mapping between a software image definition the VNFD and the corresponding software image managed by the NFVO in the VIM which is needed during compute resource instantiation.\n","type":"object","required":["vnfdSoftwareImageId","vimSoftwareImageId"],"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"},"vnfdSoftwareImageId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimSoftwareImageId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}},"extVirtualLinks":{"description":"Information about external VLs to connect the VNF to. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\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":"List of instance data that need to be configured on the CP instances created from the respective CPD.\n","type":"array","items":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","type":"object","properties":{"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolData":{"description":"Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","properties":{"macAddress":{"description":"A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n","type":"string","format":"MAC"},"ipAddresses":{"description":"List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}},"extLinkPorts":{"description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["vimConnectionId","resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"Type of the resource in the scope of the VIM or the resource provider.\n","type":"string"}}}}}}}}},"extManagedVirtualLinks":{"description":"Information about internal VLs that are managed by other entities than the VNFM. 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. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\n","type":"array","items":{"type":"object","required":["id","virtualLinkDescId","resourceId"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"virtualLinkDescId":{"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"}}}},"additionalParams":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self","vnfLcmOpOcc","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfLcmOpOcc":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}},"vnfInstance":{"description":"This type represents a link to a resource.\n","type":"object","required":["href"],"properties":{"href":{"description":"URI of the referenced resource.\n","type":"string","format":"url"}}}}}}}},"202":{"description":"Accepted\nThe process of creating the grant is ongoing, no grant is available yet. The response body shall be empty.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}}},"400":{"description":"Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"401":{"description":"Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"403":{"description":"Forbidden\nThe grant was rejected. A ProblemDetails structure shall be included in the response to provide more details about the rejection in the \"details\" attribute.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","type":"string","maximum":1,"minimum":0}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"404":{"description":"Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"405":{"description":"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 in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"406":{"description":"Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"416":{"description":"Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"422":{"description":"Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"500":{"description":"Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}},"503":{"description":"Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","type":"string","maximum":1,"minimum":1}},"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}} diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot index 6d5d5e302588cd0f9a2cba797664685f81944b97..3f070338644909621a24e13dcaae1a1f3b6f01c0 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -14,7 +14,7 @@ POST Scale a vnfInstance ... Test title: POST Scale a vnfInstance ... Test objective: The objective is to scale a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -28,7 +28,7 @@ POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the scale operation cannot be executed ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -42,7 +42,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the operation cannot be executed currently, because the VNF instance resource is not found. ... Pre-conditions: - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -55,7 +55,7 @@ GET Scale VNFInstance - Method not implemented ... Test title: GET Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -67,7 +67,7 @@ PUT Scale VNFInstance - Method not implemented ... Test title: PUT Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -79,7 +79,7 @@ PATCH Scale VNFInstance - Method not implemented ... Test title: PATCH Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -91,12 +91,13 @@ DELETE Scale VNFInstance - Method not implemented ... Test title: DELETE Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: Resource are not deleted DELETE Scale vnfInstance Check HTTP Response Status Code Is 405 + Check resource existence *** Keywords *** Check resource existence diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 6fa08f91f2a2842fe8f7ea8a55468077f1f8eb34..56f1c4c057e7a1f71065eaf4e0b461df1dccdf66 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Scale a vnfInstance to level ... Test title: POST Scale a vnfInstance to level ... Test objective: The objective is to scale a VNF instance to a target level. ... Pre-conditions: none - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -27,7 +27,7 @@ POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test title: POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... Test objective: The objective is to verify that the scale operation cannot be executed because the resource is not instantiated ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -42,7 +42,7 @@ Scale a vnfInstance Not Found ... Test title: Scale a vnfInstance Not Found ... Test objective: The objective is to verify that the operation cannot be executed , because the VNF instance resource cannot be found. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -56,7 +56,7 @@ GET Scale to level VNFInstance - Method not implemented ... Test title: GET Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -68,7 +68,7 @@ PUT Scale to level VNFInstance - Method not implemented ... Test title: PUT Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -80,7 +80,7 @@ PATCH Scale to level VNFInstance - Method not implemented ... Test title: PATCH Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -92,12 +92,13 @@ DELETE Scale to level VNFInstance - Method not implemented ... Test title: DELETE Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: Resources are not deleted DELETE Scale vnfInstance to level Check HTTP Response Status Code Is 405 + Check resource existence *** Keywords *** Check resource existence diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot index 45d01c11dad60fedae3993968d8b877b431c96a9..9b67474be7a954f485ddf53c339cdeb9ac66493e 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -14,11 +14,11 @@ Library Process *** Test Cases *** VNF Instance Scale To Level - [Documentation] Test ID: 7.3.1.31 + [Documentation] Test ID: 7.3.1.31.1 ... Test title: VNF Instance Scale To Level workflow ... Test objective: The objective is to test the workflow for the scale to level of a VNF instance ... Pre-conditions: VNF instance in INSTANTIATED state . NFVO is subscribed to VNF LCM Operation Occurrence notifications - ... Reference: clause 5.4.6 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.6 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Scale operation is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state and VNF is scaled to the new level diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot index 3b463f3c526b5bc21169c82c3dee0dc8d7cf9696..12ec5afefde2e4cfd78dc79ef85478321627b027 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -14,11 +14,11 @@ Library Process *** Test Cases *** VNF Instance Scale Out - [Documentation] Test ID: 7.3.1.32 + [Documentation] Test ID: 7.3.1.32.1 ... Test title: VNF Instance Scale Out workflow ... Test objective: The objective is to test the workflow for the scaling out a VNF instance ... Pre-conditions: VNF instance in INSTANTIATED state (Test ID 5.4.4.1). NFVO is subscribed to VNF LCM Operation Occurrence notifications (Test ID 5.4.20.1) - ... Reference: clause 5.4.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. Scale operation is supported for the VNF (as capability in the VNFD) ... Post-Conditions: VNF instance still in INSTANTIATED state and VNF is scaled out diff --git a/SOL003/VNFLifecycleManagement-API/SubscriptionKeywords.robot b/SOL003/VNFLifecycleManagement-API/SubscriptionKeywords.robot index 4658f0cd596360186d1b82e3e60b37b4bff20c3f..54fa12754175c7ecb76c2eedc8dcaac06ded665f 100644 --- a/SOL003/VNFLifecycleManagement-API/SubscriptionKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/SubscriptionKeywords.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VnfLcmMntOperationKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Process @@ -28,42 +28,53 @@ Create Sessions Configure Notification Status Handler [Arguments] ${endpoint} ${status}="" - Run Keyword If ${status}!="" set to dictionary ${json["operationState"]} dp=${status} - ${BODY}= evaluate json.dumps(${json}) json + ${json}= Create Dictionary + ${value}= Run Keyword And Return Status Should Not Be Equal As Strings ${status} "" + Run Keyword If ${value} == True Set to dictionary ${json} operationState ${status} Log Creating mock request and response to handle ${element} - &{notification_request}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + ${notification_request}= Create Mock Request Matcher POST ${endpoint} body_type='JSON' body=${json} + &{headers}= Create Dictionary Content-Type=application/json + ${notification_response}= Create Mock Response status_code=${status} headers=${headers} Create Mock Expectation ${notification_request} ${notification_response} + [Return] ${notification_request} Configure Notification VNF Instance Handler [Arguments] ${endpoint} ${instanceId}="" - Run Keyword If ${instanceId}!="" set to dictionary ${json["vnfInstanceId"]} dp=${instanceId} - ${BODY}= evaluate json.dumps(${json}) json + ${json}= Create Dictionary + ${value}= Run Keyword And Return Status Should Not Be Equal As Strings ${instanceId} "" + Run Keyword If ${value} == True Set to dictionary ${json} vnfInstanceId ${instanceId} Log Creating mock request and response to handle ${element} - &{notification_request}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + ${notification_request}= Create Mock Request Matcher POST ${endpoint} body_type='JSON' body=${json} + &{headers}= Create Dictionary Content-Type=application/json + ${notification_response}= Create Mock Response 204 headers=${headers} + Log ${notification_request} + Log ${notification_response} Create Mock Expectation ${notification_request} ${notification_response} + [Return] ${notification_request} Configure Notification Forward - [Arguments] ${element} ${endpoint} ${endpoint_fwd} - ${BODY}= evaluate json.loads('''${json}''') json + [Arguments] ${element} ${endpoint} ${endpoint_fwd} + ${json}= Get File schemas/${element}.schema.json Log Creating mock HTTP forward to handle ${element} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${BODY} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + ${notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type='JSON_SCHEMA' body=${json} + ${notification_fwd}= Create Mock Http Forward ${endpoint_fwd} Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + [Return] ${notification_tmp} Check Operation Notification [Arguments] ${element} ${status}="" ${json}= Get File schemas/${element}.schema.json - Configure Notification Forward ${element} ${callback_endpoint} ${callback_endpoint_fwd} - Configure Notification Status Handler ${callback_endpoint_fwd} ${status} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + ${req1}= Configure Notification Forward ${element} ${callback_endpoint} ${callback_endpoint_fwd} + ${req2}= Configure Notification Status Handler ${callback_endpoint_fwd} ${status} + Wait Until Keyword Succeeds 12 sec 3 sec Verify Mock Expectation ${req2} Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint_fwd} Check VNF Instance Operation Notification [Arguments] ${element} ${instance_id} ${json}= Get File schemas/${element}.schema.json - Configure Notification Forward ${element} ${callback_endpoint} ${callback_endpoint_fwd} - Configure Notification VNF Instance Handler ${callback_endpoint_fwd} ${instance_id} - \ No newline at end of file + ${req1}= Configure Notification Forward ${element} ${callback_endpoint} ${callback_endpoint_fwd} + ${req2}= Configure Notification VNF Instance Handler ${callback_endpoint_fwd} ${instance_id} + Wait Until Keyword Succeeds 12 sec 3 sec Verify Mock Expectation ${req2} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot index 803ba06c763510c5773c0094ba51b3f9e826a075..4e05efb62ceb361058cf0155388bbe8cb26b5f1d 100644 --- a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt -Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Resource environment/variables.txt +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -14,21 +14,22 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The POST method creates a new subscription ... Pre-conditions: none - ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: in response header Location shall not be null Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription + Create a new Subscription - DUPLICATION [Documentation] Test ID: 7.3.1.17.2 ... Test title: POST Create a new subscription - DUPLICATION - ... Test objective: The POST method creates a duplicate subscription + ... Test objective: The objective is to test request to create a duplicate (same cakkbackurl and filter) subscription ... Pre-conditions: none - ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM - ... Applicability: The VNFM support the creation of duplicated subscriptions + ... Applicability: duplication is supported by SUT ... Post-Conditions: in response header Location shall not be null Post Create subscription - DUPLICATION Check HTTP Response Status Code Is 201 @@ -37,11 +38,11 @@ Create a new Subscription - DUPLICATION Create a new Subscription - NO-DUPLICATION [Documentation] Test ID: 7.3.1.17.3 ... Test title: POST Create a new subscription - NO-DUPLICATION - ... Test objective: The POST method cannot create a duplicate subscription + ... Test objective: The objective is to test the request that does not create a duplicate (same callbackurl and filter) subscription ... Pre-conditions: none - ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM - ... Applicability: The VNFM does not support the creation of duplicated subscriptions + ... Applicability: duplication is not supported by SUT ... Post-Conditions: in response header Location shall not be null Post Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 @@ -52,7 +53,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +66,7 @@ GET Subscription - Filter ... Test title: GET Subscriptions - Filter ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -79,7 +80,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using an invalid filter ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -92,7 +93,7 @@ GET subscriptions with all_fields attribute selector ... Test title: GET subscriptions with all_fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -105,7 +106,7 @@ GET subscriptions with exclude_default attribute selector ... Test title: GET subscriptions with exclude_default attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -118,7 +119,7 @@ GET subscriptions with fields attribute selector ... Test title: GET subscriptions with fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -131,7 +132,7 @@ GET subscriptions with exclude_fields attribute selector ... Test title: GET subscriptions with exclude_fields attribute selector ... Test objective: The objective is Get the list of active subscriptions ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -144,7 +145,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.18.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -156,7 +157,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.18.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription not modified @@ -168,10 +169,35 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.18.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 - \ No newline at end of file + +GET Subscriptions as a Paged Response + [Documentation] Test ID: 7.3.1.17.14 + ... Test title: GET Subscriptions as a Paged Response + ... Test objective: The objective is Get the list of active subscriptions as a Paged Response. + ... Pre-conditions: none + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET subscriptions - Bad Request Response too Big + [Documentation] Test ID: 7.3.1.17.15 + ... Test title: GET subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of the list of active subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: none + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot index a4f2fe2cdc41626d7be0b0e9d1724aafb8fc5cc0..d61927bee49cd9641b6cb0c54a1547152b43dea8 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource VnfLcmMntOperationKeywords.robot Library OperatingSystem Library JSONLibrary @@ -14,7 +14,7 @@ POST Terminate a vnfInstance ... Test title: POST Terminate a vnfInstance ... Test objective: The objective is to test that POST method terminate a VNF instance ... Pre-conditions: none - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -27,7 +27,7 @@ POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test title: POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the vnf Instance cannot be terminated ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -41,7 +41,7 @@ GET Terminate VNFInstance - Method not implemented ... Test title: GET Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ PUT Terminate VNFInstance - Method not implemented ... Test title: PUT Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PATCH Terminate VNFInstance - Method not implemented ... Test title: PATCH Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ DELETE Terminate VNFInstance - Method not implemented ... Test title: DELETE Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFLifecycleManagement-API/TerminatelVNFWorkflow.robot b/SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot similarity index 93% rename from SOL003/VNFLifecycleManagement-API/TerminatelVNFWorkflow.robot rename to SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot index b2d70ef24bcb3043f03726c2b00585bb5698ecf9..e502115cb060dd490d767791c46712b41c6af13d 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminatelVNFWorkflow.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFWorkflow.robot @@ -4,7 +4,7 @@ Resource environment/variables.txt Resource environment/scaleVariables.txt Resource VnfLcmMntOperationKeywords.robot Resource SubscriptionKeywords.robot -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library Collections @@ -14,11 +14,11 @@ Library Process *** Test Cases *** Terminate a VNF Instance - [Documentation] Test ID: 7.3.1.33 + [Documentation] Test ID: 7.3.1.33.1 ... Test title: Terminate a VNF Instance ... Test objective: The objective is to terminate a VNF instance. ... Pre-conditions: VNF instance in INSTANTIATED state - ... Reference: clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: NFVO is able to receive notifications from VNFM. ... Post-Conditions: VNF instance in NOT_INSTANTIATED state diff --git a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot index e0b5a40b547550658ceb9800a722369d06bd5e52..8b817204babfdc0c152c2277c90276422584fdf4 100644 --- a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot @@ -2,7 +2,7 @@ # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource VnfLcmMntOperationKeywords.robot Library OperatingSystem Library JSONLibrary @@ -14,7 +14,7 @@ POST Create a new vnfInstance ... Test title: POST Create a new vnfInstance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: clause 5.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: VNF instance created @@ -27,7 +27,7 @@ GET information about multiple VNF instances ... Test title: GET information about multiple VNF instances ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -39,8 +39,8 @@ GET information about multiple VNF instances Bad Request Invalid attribute-based [Documentation] Test ID: 7.3.1.1.3 ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to query information about multiple VNF instances with Invalid attribute-based filtering parameters - ... Pre-conditions: A VNF is instantiated, a bad filter selector (filter selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.4.1). - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Pre-conditions: A VNF is instantiated, a bad filter selector (filter selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.6.1). + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -53,8 +53,8 @@ GET information about multiple VNF instances Bad Request Invalid attribute selec [Documentation] Test ID: 7.3.1.1.4 ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute selector ... Test objective: The objective is to query information about multiple VNF instances with Invalid attribute selector - ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.4.1). - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.6.1). + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -67,7 +67,7 @@ GET information about multiple VNF instances with "all_fields" attribute selecto ... Test title: GET information about multiple VNF instances with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -80,7 +80,7 @@ GET information about multiple VNF instances with "exclude_default" attribute se ... Test title: GET information about multiple VNF instances with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -93,7 +93,7 @@ GET information about multiple VNF instances with "fields" attribute selector ... Test title: GET information about multiple VNF instances with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -102,11 +102,11 @@ GET information about multiple VNF instances with "fields" attribute selector Check HTTP Response Body Json Schema Is vnfInstances GET information about multiple VNF instances with "exclude_fields" attribute selector - [Documentation] Test ID: 7.3.1.1.7 + [Documentation] Test ID: 7.3.1.1.8 ... Test title: GET information about multiple VNF instances with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -115,11 +115,11 @@ GET information about multiple VNF instances with "exclude_fields" attribute sel Check HTTP Response Body Json Schema Is vnfInstances PUT multiples VNFInstances - Method not implemented - [Documentation] Test ID: 7.3.1.1.5 + [Documentation] Test ID: 7.3.1.1.9 ... Test title: PUT multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -127,11 +127,11 @@ PUT multiples VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 PATCH multiples VNFInstances - Method not implemented - [Documentation] Test ID: 7.3.1.1.6 + [Documentation] Test ID: 7.3.1.1.10 ... Test title: PATCH multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -139,13 +139,39 @@ PATCH multiples VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 DELETE VNFInstances - Method not implemented - [Documentation] Test ID: 7.3.1.1.7 + [Documentation] Test ID: 7.3.1.1.11 ... Test title: DELETE multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: - ... Reference: clause 5.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: resources are not deleted DELETE multiple vnfInstances Check HTTP Response Status Code Is 405 + +GET information about multiple VNF instances to get Paged Response + [Documentation] Test ID: 7.3.1.1.12 + ... Test title: GET information about multiple VNF instances to get Paged Response + ... Test objective: The objective is to query information about multiple VNF instances to get Paged Response. + ... Pre-conditions: + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET multiple vnfInstances + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET information about multiple VNF instances - Bad Request Response too Big + [Documentation] Test ID: 7.3.1.1.13 + ... Test title: GET information about multiple VNF instances - Bad Request Response too Big + ... Test objective: The objective is to query information about multiple VNF instances fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.6.1). + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET multiple vnfInstances + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot index f94a5510c83efaa5592d954b527bf5ec6aa55779..bc4b649a64407aa2c33037358969ecb12e604f9e 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot @@ -3,7 +3,7 @@ Resource environment/configuration.txt Resource environment/variables.txt Resource environment/scaleVariables.txt Library MockServerLibrary -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library JSONLibrary @@ -23,32 +23,32 @@ Get Vnf Instance Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response.status_code} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check Operation Occurrence IdS - ${vnfLcmOpOccId}= Get Value From Json ${response.headers} $..Location + ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${vnfLcmOpOccId} Check Operation Occurrence Id existence - ${vnfLcmOpOccId}= Get Value From Json ${response.headers} $..Location + ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${vnfLcmOpOccId} Check HTTP Response Body Json Schema Is [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} Log Json Schema Validation OK Check resource Instantiated Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} INSTANTIATED + Check VNF Status ${response['body']['instantiationState']} INSTANTIATED Check resource not Instantiated Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 - Check VNF Status ${response.body.instantiationState} NOT_INSTANTIATED + Check VNF Status ${response['body']['instantiationState']} NOT_INSTANTIATED Check VNF Instance [Arguments] ${vnfId} @@ -96,7 +96,7 @@ Get Vnf Ext Link Id Check HTTP Response Header Contains [Arguments] ${CONTENT_TYPE} - Should Contain ${response.headers} ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} Log Header is present Send VNF Scale Out Request @@ -251,35 +251,35 @@ POST Cancel operation task Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} Log Validate Status code ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Cancel operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Cancel operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Cancel operation task Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Cancel operation task Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Change External VNF Connectivity Log Trying to change the external connectivity of a VNF instance. @@ -289,35 +289,35 @@ POST Change External VNF Connectivity ${body}= Get File jsons/changeExtVnfConnectivityRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Change External VNF Connectivity log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Change External VNF Connectivity log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Change External VNF Connectivity Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Change External VNF Connectivity Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Change VNF deployment flavour Log Trying to change the deployment flavour of a VNF instance. @@ -327,34 +327,34 @@ POST Change VNF deployment flavour ${body}= Get File jsons/changeVnfFlavourRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Change VNF deployment flavour log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Change VNF deployment flavour log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Change VNF deployment flavour Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Change VNF deployment flavour Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Create a new vnfInstance Log Create VNF instance by POST to /vnf_instances @@ -364,7 +364,7 @@ POST Create a new vnfInstance ${body}= Get File jsons/createVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances Log Query VNF The GET method queries information about multiple VNF instances. @@ -374,7 +374,7 @@ GET multiple vnfInstances Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with bad attribute Log Query VNF The GET method queries information about multiple VNF instances. @@ -384,7 +384,7 @@ GET multiple vnfInstances with bad attribute Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with bad filter Log Query VNF The GET method queries information about multiple VNF instances. @@ -394,7 +394,7 @@ GET multiple vnfInstances with bad filter Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with all_fields attribute selector Log Query status information about multiple VNF instances, using fields @@ -459,7 +459,7 @@ POST individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET individual vnfInstance log Trying to get information about an individual VNF instance @@ -468,7 +468,7 @@ GET individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT individual vnfInstance log Trying to perform a PUT. This method should not be implemented @@ -477,7 +477,7 @@ PUT individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH individual vnfInstance log Trying to modify an individual VNF instance @@ -487,13 +487,13 @@ PATCH individual vnfInstance ${body}= Get File jsons/patchBodyRequest.json Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE individual vnfInstance log Trying to delete an individual VNF instance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST instantiate individual vnfInstance Log Trying to Instantiate a vnf Instance @@ -503,35 +503,35 @@ POST instantiate individual vnfInstance ${body}= Get File jsons/instantiateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance Log Trying to Instantiate a vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -540,7 +540,7 @@ POST Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Scale vnfInstance Log Trying to get a scale a vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -549,7 +549,7 @@ GET Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -558,7 +558,7 @@ PUT Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -567,7 +567,7 @@ PATCH Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} @@ -576,7 +576,7 @@ DELETE Scale vnfInstance ${body}= Get File jsons/scaleVnfRequest.json Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance to level Log Trying to scale a vnf Instance to level Set Headers {"Accept":"${ACCEPT}"} @@ -585,34 +585,34 @@ POST Scale vnfInstance to level ${body}= Get File jsons/scaleVnfToLevelRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Scale vnfInstance to level log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Scale vnfInstance to level log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Scale vnfInstance to level log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Scale vnfInstance to level log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Terminate VNF Log Trying to terminate a VNF instance. @@ -622,35 +622,35 @@ POST Terminate VNF ${body}= Get File jsons/terminateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Terminate VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Terminate VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Terminate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Terminate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Heal VNF Log Trying to heal a VNF instance. @@ -660,35 +660,35 @@ POST Heal VNF ${body}= Get File jsons/healVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Heal VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Heal VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Heal VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Heal VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Operate VNF Log Trying to operate a VNF instance. @@ -698,35 +698,35 @@ POST Operate VNF ${body}= Get File jsons/operateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Operate VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Operate VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Operate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Operate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post VNF LCM Operation occurrences log Trying to perform a POST. This method should not be implemented @@ -734,7 +734,7 @@ Post VNF LCM Operation occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET VNF LCM Operation occurrences Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} @@ -742,21 +742,21 @@ GET VNF LCM Operation occurrences Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET VNF LCM Operation occurrences invalid attribute Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?attribute_not_exist=some_value ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET VNF LCM Operation occurrences invalid filter Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs?fields=wrong_field ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get VNF LCM Operation occurrences with all_fields attribute selector Log Query status information about multiple VNF lifecycle management operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -791,28 +791,28 @@ PUT VNF LCM Operation occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH VNF LCM Operation occurrences log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE VNF LCM Operation occurrences log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Individual VNF LCM Operation occurrences log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put multiple VNF instances log Trying to perform a PUT. This method should not be implemented @@ -820,28 +820,28 @@ Put multiple VNF instances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch multiple VNF instances log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete multiple VNF instances log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Retry operation Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Retry operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} @@ -849,35 +849,35 @@ Get Retry operation Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Retry operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Retry operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Retry operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Rollback operation Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Rollback operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} @@ -885,35 +885,35 @@ Get Rollback operation Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Rollback operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Rollback operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Rollback operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Fail operation Log mark as Failed a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Fail operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} @@ -921,28 +921,28 @@ Get Fail operation Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Fail operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Fail operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Fail operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Set Headers {"Accept":"${ACCEPT}"} @@ -951,7 +951,7 @@ Post Create subscription ${body}= Get File jsons/lccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test @@ -961,7 +961,7 @@ Post Create subscription - DUPLICATION ${body}= Get File jsons/lccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test @@ -971,7 +971,7 @@ Post Create subscription - NO-DUPLICATION ${body}= Get File jsons/lccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions Log Get the list of active subscriptions Set Headers {"Accept":"${ACCEPT}"} @@ -980,7 +980,7 @@ Get subscriptions Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - filter Log Get the list of active subscriptions using a filter Set Headers {"Accept": "${ACCEPT}"} @@ -988,14 +988,14 @@ Get subscriptions - filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - invalid filter Log Get the list of active subscriptions using an invalid filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -1031,7 +1031,7 @@ PUT subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH subscriptions log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -1039,7 +1039,7 @@ PATCH subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE subscriptions log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -1047,7 +1047,7 @@ DELETE subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create Individual subscription log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -1055,14 +1055,14 @@ Post Create Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Individual subscription log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Individual subscription log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -1070,7 +1070,7 @@ Put Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Individual subscription log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -1078,29 +1078,29 @@ Patch Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Individual subscription log Try to delete an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Notification subscription log Trying to perform a PUT. This method should not be implemented Put ${callback_endpoint} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Notification subscription log Trying to perform a PATCH. This method should not be implemented Patch ${callback_endpoint} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Notification subscription log Trying to perform a DELETE. This method should not be implemented Delete ${callback_endpoint} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Operation occurrence log The POST method delivers a notification from the server to the client. ${json}= Get File schemas/NsLcmOperationOccurrenceNotification.schema.json @@ -1147,4 +1147,8 @@ GET test endpoint Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Verify Mock Expectation ${req} - Clear Requests ${callback_endpoint} \ No newline at end of file + Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index c783b3bfa57f98f4272a806a67c8e9186901f678..dcdc287d2891411c130e38bf48a517810a42cad8 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/configuration.txt Resource environment/variables.txt -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Resource VnfLcmMntOperationKeywords.robot @@ -12,7 +12,7 @@ POST VNF LCM Operation occurrences - Method not implemented ... Test title: POST VNF LCM Operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET status information about multiple VNF LCM Operation OCC ... Test title: GET status information about multiple VNF LCM Operation OCC ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET status information about multiple VNF LCM Operation OCC Bad Request Invalid ... Test title: GET status information about multiple VNF LCM Operation OCC Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET status information about multiple VNF LCM Operation OCC Bad Request Invalid ... Test title: GET status information about multiple VNF LCM Operation OCC Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test title: GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ GET status information about multiple VNF LCM Operation OCC with "exlude_default ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET status information about multiple VNF LCM Operation OCC with "fields" ... Test title: GET status information about multiple VNF LCM Operation OCC with "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET status information about multiple VNF LCM Operation OCC with "exclude_fields ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ PUT status information about multiple VNF LCM Operation OCC - Method not impleme ... Test title: PUT status information about multiple VNF LCM Operation OCC - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH status information about multiple VNF LCM Operation OCC - Method not imple ... Test title: PATCH status information about multiple VNF LCM Operation OCC - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -139,9 +139,35 @@ DELETE status information about multiple VNF LCM Operation OCC - Method not impl ... Test title: DELETE status information about multiple VNF LCM Operation OCC - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 5.4.12.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none DELETE VNF LCM Operation occurrences Check HTTP Response Status Code Is 405 + +GET status information about multiple VNF LCM Operation OCC to get Paged Response + [Documentation] Test ID: 7.3.1.11.12 + ... Test title: GET status information about multiple VNF LCM Operation OCC to get Paged Response + ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences to get a Paged Response. + ... Pre-conditions: none + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET VNF LCM Operation occurrences + Check HTTP Response Status Code Is 202 + Check LINK in Header + +GET status information about multiple VNF LCM Operation OCC - Bad Request Response too Big + [Documentation] Test ID: 7.3.1.11.13 + ... Test title: GET status information about multiple VNF LCM Operation OCC - Bad Request Response too Big + ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. + ... Pre-conditions: none + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET VNF LCM Operation occurrences + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/jsons/createVnfRequest.json b/SOL003/VNFLifecycleManagement-API/jsons/createVnfRequest.json index 8a1fda3bc9b3d3fbd109f0f6cec38711ec20395c..290151ae0de5286745c29b9a12df050a9b3ce9f9 100644 --- a/SOL003/VNFLifecycleManagement-API/jsons/createVnfRequest.json +++ b/SOL003/VNFLifecycleManagement-API/jsons/createVnfRequest.json @@ -1,5 +1,6 @@ { "vnfdId": "6fc3539c-e602-4afa-8e13-962fb5a7d81f", "vnfInstanceName": "string", - "vnfInstanceDescription": "string" + "vnfInstanceDescription": "string", + "metadata":{} } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json b/SOL003/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json index 3c9f8437d2a350bf4fb1fb5d217b16f2c0c4decd..bb96e19ddce87e266b427158183da85a62c43861 100644 --- a/SOL003/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json +++ b/SOL003/VNFLifecycleManagement-API/jsons/instantiateVnfRequest.json @@ -73,5 +73,6 @@ } ], "localizationLanguage": "English", + "extensions": {}, "additionalParams": {} } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/ApiVersionInformation.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/VnfIdentifierCreationNotification.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/VnfIdentifierCreationNotification.schema.json index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..142c16386b215ab3493f6868b74a10cf11ed694c 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/VnfIdentifierCreationNotification.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/VnfIdentifierCreationNotification.schema.json @@ -0,0 +1,87 @@ +{ + "description": "This type represents a VNF identifier creation notification, which informs the receiver of the creation of a new \"Individual VNF instance\" resource and the associated VNF instance identifier. This notification shall be triggered by the VNFM when it has created an \"Individual VNF instance\" resource and the associated VNF instance identifier.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "vnfInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"VnfIdentifierCreationNotification\" for this notification type.\n", + "type": "string", + "enum": [ + "VnfIdentifierCreationNotification" + ] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "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" + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": [ + "vnfInstance", + "subscription" + ], + "properties": { + "vnfInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..85468696c8604ab56d09f03651ade2f14d6a1c17 --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json @@ -0,0 +1,568 @@ +{ + "description": "This type represents a VNF lifecycle management operation occurrence notification, which informs the receiver of changes in the VNF lifecycle caused by a VNF LCM operation occurrence. The support of the notification is mandatory. This notification shall be triggered by the VNFM when there is a change in the state of a VNF LCM operation occurrence that changes the VNF lifecycle, which represents an occurrence of one the following LCM operations: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) * Change of the state of the VNF instance (i.e. Operate VNF) * Change of the deployment flavour of the VNF instance * Change of the external connectivity of the VNF instance * Termination of the VNF instance * Modification of VNF instance information and/or VNF configurable\n properties through the \"PATCH\" method on the \"Individual VNF instance\"\n resource.\nClause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, and also specifies details of the notifications to be emitted at each state transition. If this is the initial notification about the start of a VNF LCM operation occurrence, it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) is taken as part of the LCM operation. Due to possible race conditions, the \"start\" notification, the grant request and the LCM operation acknowledgment (i.e. the \"202 Accepted\" response) can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, the notification shall be sent after all related actions of the LCM operation that led to this state have been executed. The new state shall be set in the \"Individual VNF LCM operation occurrence\" resource before the notification about the state change is sent. See clause 5.6.2.2 for further provisions regarding sending this notification, including in cases of handling LCM operation errors.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "notificationStatus", + "operationState", + "vnfInstanceId", + "operation", + "isAutomaticInvocation", + "vnfLcmOpOccId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"VnfLcmOperationOccurrenceNotification\" for this notification type.\n", + "type": "string", + "enum": [ + "VnfLcmOperationOccurrenceNotification" + ] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "notificationStatus": { + "description": "Indicates whether this notification reports about the start of a lifecycle operation or the result of a lifecycle operation. Permitted values: * START: Informs about the start of the VNF LCM operation\n occurrence.\n* RESULT: Informs about the final or intermediate result of the VNF\n LCM operation occurrence.\n", + "type": "string", + "enum": [ + "START", + "RESULT" + ] + }, + "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" + ] + }, + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operation": { + "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. \n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "SCALE_TO_LEVEL", + "CHANGE_FLAVOUR", + "TERMINATE", + "HEAL", + "OPERATE", + "CHANGE_EXT_CONN", + "MODIFY_INFO" + ] + }, + "isAutomaticInvocation": { + "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", + "type": "boolean" + }, + "vnfLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "affectedVnfcs": { + "description": "Information about VNFC instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VNFCs.\n", + "type": "object", + "required": [ + "id", + "vduId", + "changeType", + "computeResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vduId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "computeResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents 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. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs.\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" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY", + "LINK_PORT_ADDED", + "LINK_PORT_REMOVED" + ] + }, + "networkResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents 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" + } + } + } + }, + "affectedVirtualStorages": { + "description": "Information about virtualised storage instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n", + "type": "object", + "required": [ + "id", + "virtualStorageDescId", + "changeType", + "storageResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualStorageDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY" + ] + }, + "storageResource": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents 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" + }, + "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": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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 modifications of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals modifications of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfPkgId\" attribute) was modified implicitly following a request to modify the \"vnfPkgId\" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the \"vnfPkgId” attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A version.\n", + "type": "string" + }, + "vnfcInfoModifications": { + "description": "If present, this attribute signals modifications of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", + "type": "array", + "items": { + "description": "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. It shall comply with the provisions defined in table 5.5.3.24-1.\n", + "type": "object", + "required": [ + "id", + "vnfcConfigurableProperties" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfcConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } + }, + "vnfcInfoModificationsDeleteIds": { + "description": "If present, this attribute signals the deletion of certain entries in the \"vnfcInfo\" attribute array in the \"instantiatedVnfInfo\" attribute of \"VnfInstance\", as defined in clause 5.5.2.12\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if this notification represents the result of a lifecycle operation occurrence. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the \"operation\" has made any changes to the external connectivity of the VNF instance. Shall be absent otherwise. Only information about external VL instances that have been added or modified shall be provided.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents 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" + } + } + } + } + } + } + }, + "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" + } + } + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": [ + "vnfInstance", + "subscription" + ], + "properties": { + "vnfInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/vnfIdentifierDeletionNotification.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/vnfIdentifierDeletionNotification.schema.json index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..253ccce96b2de34faba43dd5093c2a3ab9e561ef 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/vnfIdentifierDeletionNotification.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/vnfIdentifierDeletionNotification.schema.json @@ -0,0 +1,87 @@ +{ + "description": "This type represents a VNF identifier deletion notification, which informs the receiver of the deletion of a new \"Individual VNF instance\" resource and the associated VNF instance identifier. This notification shall be triggered by the VNFM when it has deleted an \"Individual VNF instance\" resource and the associated VNF instance identifier.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "vnfInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"VnfIdentifierDeletionNotification\" for this notification type.\n", + "type": "string", + "enum": [ + "VnfIdentifierDeletionNotification" + ] + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "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" + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": [ + "vnfInstance", + "subscription" + ], + "properties": { + "vnfInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "vnfLcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json index d6a8159ae512585f7b9c92c2b882c15882bae63d..8cb99a67ed008da6f8306eccba0c4f025d335f99 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json @@ -1 +1,992 @@ -{ "description": "This type represents a VNF instance.\n", "type": "object", "required": [ "id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfInstanceName": { "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", "type": "string" }, "vnfInstanceDescription": { "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", "type": "string" }, "vnfdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfProvider": { "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", "type": "string" }, "vnfProductName": { "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", "type": "string" }, "vnfSoftwareVersion": { "description": "A Version.\n", "type": "string" }, "vnfdVersion": { "description": "A Version.\n", "type": "string" }, "vnfPkgId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfConfigurableProperties": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "vimConnectionInfo": { "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", "type": "array", "items": { "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", "type": "object", "required": [ "id", "vimType" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vimType": { "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", "type": "string" }, "interfaceInfo": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "accessInfo": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "extra": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } }, "instantiationState": { "description": "The instantiation state of the VNF.\n", "type": "string", "enum": [ "NOT_INSTANTIATED", "INSTANTIATED" ] }, "instantiatedVnfInfo": { "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", "type": "object", "required": [ "flavourId", "vnfState" ], "properties": { "flavourId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "vnfState": { "type": "string", "enum": [ "STARTED", "STOPPED" ] }, "scaleStatus": { "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", "type": "array", "items": { "required": [ "aspectId", "scaleLevel" ], "type": "object", "properties": { "aspectId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "scaleLevel": { "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", "type": "integer" } } } }, "extCpInfo": { "description": "Information about the external CPs exposed by the VNF instance.\n", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "id", "cpdId" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "cpProtocolInfo": { "description": "Network protocol information for this CP.\n", "type": "array", "items": { "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { "description": "This type represents information about a network address that has been assigned. \n", "type": "object", "required": [ "macAddress" ], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, "ipAddresses": { "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", "type": "array", "items": { "type": "object", "required": [ "type" ], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" ] }, "addresses": { "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } }, "isDynamic": { "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", "type": "boolean" }, "addressRange": { "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", "type": "object", "required": [ "minAddress", "maxAddress" ], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" }, "maxAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } }, "subnetId": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } } } } } } } }, "extLinkPortId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } } } }, "extVirtualLinkInfo": { "description": "Information about the external VLs the VNF instance is connected to.\n", "type": "array", "items": { "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "extLinkPorts": { "description": "Link ports of this VL.\n", "type": "array", "items": { "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } } } } }, "extManagedVirtualLinkInfo": { "description": "External virtual links the VNF instance is connected to.\n", "type": "array", "items": { "type": "object", "required": [ "id", "vnfVirtualLinkDescId" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfVirtualLinkDescId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "networkResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "vnfLinkPorts": { "description": "Link ports of this VL.\n", "type": "array", "items": { "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } } } } }, "monitoringParameters": { "description": "Active monitoring parameters.\n", "type": "array", "items": { "type": "object", "required": [ "id", "value", "timeStamp" ], "properties": { "id": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "name": { "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", "type": "string" }, "value": { "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", "type": "object" }, "timeStamp": { "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", "type": "string" } } } }, "localizationLanguage": { "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", "type": "string" }, "vnfcResourceInfo": { "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", "type": "array", "items": { "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", "type": "object", "required": [ "id", "vduId", "computeResource" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "vduId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "computeResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "storageResourceIds": { "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", "type": "array", "items": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } }, "reservationId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfcCpInfo": { "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", "type": "array", "items": { "type": "object", "required": [ "id", "cpdId" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "vnfExtCpId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "cpProtocolInfo": { "description": "Network protocol information for this CP.\n", "type": "array", "items": { "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { "description": "This type represents information about a network address that has been assigned. \n", "type": "object", "required": [ "macAddress" ], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, "ipAddresses": { "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", "type": "array", "items": { "type": "object", "required": [ "type" ], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" ] }, "addresses": { "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } }, "isDynamic": { "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", "type": "boolean" }, "addressRange": { "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", "type": "object", "required": [ "minAddress", "maxAddress" ], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" }, "maxAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } }, "subnetId": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } } } } } } } }, "vnfLinkPortId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } }, "virtualLinkResourceInfo": { "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", "type": "array", "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", "type": "object", "required": [ "id", "vnfVirtualLinkDescId", "networkResource" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "vnfVirtualLinkDescId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "networkResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "reservationId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfLinkPorts": { "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", "type": "array", "items": { "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } }, "virtualStorageResourceInfo": { "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", "type": "array", "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", "type": "object", "required": [ "id", "virtualStorageDescId", "storageResource" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "virtualStorageDescId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "storageResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "reservationId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "extensions": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", "required": [ "self" ], "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "indicators": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "instantiate": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "terminate": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "scale": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "scaleToLevel": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "changeFlavour": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "heal": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "operate": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "changeExtConn": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } } } } }} \ No newline at end of file +{ + "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. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", + "type": "array", + "items": { + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", + "type": "object", + "required": [ + "id", + "vimType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimType": { + "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance.\n", + "type": "array", + "minItems": 1, + "items": { + "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", + "cpProtocolInfo" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", + "type": "object", + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). 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 IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "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 with the intention of being globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "External virtual links the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + } + } + } + } + } + } + }, + "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" + }, + "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" + }, + "computeResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", + "type": "object", + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). 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 IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + } + } + } + }, + "virtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + }, + "storageResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "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": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + } + } + }, + "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" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json index dd3f124677fd4473dba80633cd922f419c0b430d..776e2d87bc0a285f9b5885b8985edfc28482e6bb 100644 --- a/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json +++ b/SOL003/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json @@ -1 +1,995 @@ -{ "type": "array", "items": { "description": "This type represents a VNF instance.\n", "type": "object", "required": [ "id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfInstanceName": { "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", "type": "string" }, "vnfInstanceDescription": { "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", "type": "string" }, "vnfdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfProvider": { "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", "type": "string" }, "vnfProductName": { "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", "type": "string" }, "vnfSoftwareVersion": { "description": "A Version.\n", "type": "string" }, "vnfdVersion": { "description": "A Version.\n", "type": "string" }, "vnfPkgId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfConfigurableProperties": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "vimConnectionInfo": { "description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", "type": "array", "items": { "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", "type": "object", "required": [ "id", "vimType" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vimType": { "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", "type": "string" }, "interfaceInfo": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "accessInfo": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "extra": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } }, "instantiationState": { "description": "The instantiation state of the VNF.\n", "type": "string", "enum": [ "NOT_INSTANTIATED", "INSTANTIATED" ] }, "instantiatedVnfInfo": { "description": "Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n", "type": "object", "required": [ "flavourId", "vnfState" ], "properties": { "flavourId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "vnfState": { "type": "string", "enum": [ "STARTED", "STOPPED" ] }, "scaleStatus": { "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", "type": "array", "items": { "required": [ "aspectId", "scaleLevel" ], "type": "object", "properties": { "aspectId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "scaleLevel": { "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", "type": "integer" } } } }, "extCpInfo": { "description": "Information about the external CPs exposed by the VNF instance.\n", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "id", "cpdId" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "cpProtocolInfo": { "description": "Network protocol information for this CP.\n", "type": "array", "items": { "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { "description": "This type represents information about a network address that has been assigned. \n", "type": "object", "required": [ "macAddress" ], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, "ipAddresses": { "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", "type": "array", "items": { "type": "object", "required": [ "type" ], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" ] }, "addresses": { "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } }, "isDynamic": { "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", "type": "boolean" }, "addressRange": { "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", "type": "object", "required": [ "minAddress", "maxAddress" ], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" }, "maxAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } }, "subnetId": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } } } } } } } }, "extLinkPortId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } } } }, "extVirtualLinkInfo": { "description": "Information about the external VLs the VNF instance is connected to.\n", "type": "array", "items": { "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "extLinkPorts": { "description": "Link ports of this VL.\n", "type": "array", "items": { "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } } } } }, "extManagedVirtualLinkInfo": { "description": "External virtual links the VNF instance is connected to.\n", "type": "array", "items": { "type": "object", "required": [ "id", "vnfVirtualLinkDescId" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfVirtualLinkDescId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "networkResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "vnfLinkPorts": { "description": "Link ports of this VL.\n", "type": "array", "items": { "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } } } } }, "monitoringParameters": { "description": "Active monitoring parameters.\n", "type": "array", "items": { "type": "object", "required": [ "id", "value", "timeStamp" ], "properties": { "id": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "name": { "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", "type": "string" }, "value": { "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", "type": "object" }, "timeStamp": { "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", "type": "string" } } } }, "localizationLanguage": { "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", "type": "string" }, "vnfcResourceInfo": { "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", "type": "array", "items": { "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", "type": "object", "required": [ "id", "vduId", "computeResource" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "vduId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "computeResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "storageResourceIds": { "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", "type": "array", "items": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } }, "reservationId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfcCpInfo": { "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", "type": "array", "items": { "type": "object", "required": [ "id", "cpdId" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "cpdId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "vnfExtCpId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "cpProtocolInfo": { "description": "Network protocol information for this CP.\n", "type": "array", "items": { "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. \n", "required": [ "layerProtocol" ], "properties": { "layerProtocol": { "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", "type": "string", "enum": [ "IP_OVER_ETHERNET" ] }, "ipOverEthernet": { "description": "This type represents information about a network address that has been assigned. \n", "type": "object", "required": [ "macAddress" ], "properties": { "macAddress": { "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", "type": "string", "format": "MAC" }, "ipAddresses": { "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", "type": "array", "items": { "type": "object", "required": [ "type" ], "properties": { "type": { "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", "IPV6" ] }, "addresses": { "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } }, "isDynamic": { "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", "type": "boolean" }, "addressRange": { "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", "type": "object", "required": [ "minAddress", "maxAddress" ], "properties": { "minAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" }, "maxAddress": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } }, "subnetId": { "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } } } } } } } } }, "vnfLinkPortId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } }, "virtualLinkResourceInfo": { "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", "type": "array", "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", "type": "object", "required": [ "id", "vnfVirtualLinkDescId", "networkResource" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "vnfVirtualLinkDescId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "networkResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "reservationId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfLinkPorts": { "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", "type": "array", "items": { "type": "object", "required": [ "id", "resourceHandle" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "resourceHandle": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "cpInstanceId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" } } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } }, "virtualStorageResourceInfo": { "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", "type": "array", "items": { "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", "type": "object", "required": [ "id", "virtualStorageDescId", "storageResource" ], "properties": { "id": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" }, "virtualStorageDescId": { "description": "An identifier that is unique within a VNF descriptor.\n", "type": "string" }, "storageResource": { "required": [ "vimConnectionId", "resourceId" ], "type": "object", "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { "vimConnectionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceProviderId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "resourceId": { "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", "type": "string" }, "vimLevelResourceType": { "description": "Type of the resource in the scope of the VIM or the resource provider.\n", "type": "string" } } }, "reservationId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" } } } } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "extensions": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", "type": "object" }, "_links": { "description": "Links to resources related to this resource.\n", "type": "object", "required": [ "self" ], "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "indicators": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "instantiate": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "terminate": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "scale": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "scaleToLevel": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "changeFlavour": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "heal": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "operate": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } }, "changeExtConn": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of the referenced resource.\n", "type": "string", "format": "url" } } } } } } }} \ No newline at end of file +{ + "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. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n", + "type": "array", + "items": { + "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", + "type": "object", + "required": [ + "id", + "vimType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimType": { + "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } + } + } + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance.\n", + "type": "array", + "minItems": 1, + "items": { + "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", + "cpProtocolInfo" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", + "type": "object", + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). 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 IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "extLinkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "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 with the intention of being globally unique.\n", + "type": "string" + }, + "associatedVnfVirtualLinkId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + } + } + } + } + }, + "extManagedVirtualLinkInfo": { + "description": "External virtual links the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + } + } + } + } + } + } + }, + "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" + }, + "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" + }, + "computeResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "storageResourceIds": { + "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned.\n", + "type": "object", + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). 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 IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "vnfLinkPortId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + } + } + } + }, + "virtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "An identifier that is unique within a VNF descriptor.\n", + "type": "string" + }, + "networkResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfLinkPorts": { + "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + }, + "storageResource": { + "required": [ + "vimConnectionId", + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "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" + } + } + }, + "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": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs 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" + } + } + }, + "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" + } + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/schemas/vnfLcmOperationOccurrenceNotification.schema.json b/SOL003/VNFLifecycleManagement-API/schemas/vnfLcmOperationOccurrenceNotification.schema.json deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot b/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..1740b98ed35798b48ab83ff61bfcc8fe189f18e5 --- /dev/null +++ b/SOL003/VNFLifecycleOperationGranting-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.2.3.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.2.3.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.2.3.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.2.3.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.2.3.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.2.3.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.2.3.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.2.3.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.2.3.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.2.3.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index c9abf0d887c0121e5b3e31dd443c00362ccc61ea..392ae4b54ca3dfc3a9a070b3b696451137280c63 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -1,6 +1,6 @@ *** Settings *** Resource environment/variables.txt -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -16,9 +16,9 @@ ${polling} 10 sec Requests a grant for a particular VNF lifecycle operation - Synchronous mode [Documentation] Test ID: 7.3.2.1.1 ... Test title: Requests a grant for a particular VNF lifecycle operation - Synchronous mode - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure ... Pre-conditions: - ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO can decide immediately what to respond to a grant request ... Post-Conditions: The grant information is available to the VNFM. @@ -31,9 +31,9 @@ Requests a grant for a particular VNF lifecycle operation - Synchronous mode Requests a grant for a particular VNF lifecycle operation - Asynchronous mode [Documentation] Test ID: 7.3.2.1.2 ... Test title: Requests a grant for a particular VNF lifecycle operation - Asynchronous mode - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure ... Pre-conditions: - ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO can not decide immediately what to respond to a grant request ... Post-Conditions: The grant information is available to the VNFM. @@ -46,13 +46,13 @@ Requests a grant for a particular VNF lifecycle operation - Asynchronous mode Requests a grant for a particular VNF lifecycle operation - Forbidden [Documentation] Test ID: 7.3.2.1.3 ... Test title: Requests a grant for a particular VNF lifecycle operation - Forbidden - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and check the content of the problem details data structure returned - ... Pre-conditions: The grant should not be accorded - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and the grant is rejected + ... Pre-conditions: none + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Request a new Grant Forbidden + Send Request for a new Grant Forbiden Operation Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails @@ -61,7 +61,7 @@ GET Grants - Method not implemented ... Test title: GET Grants - Method not implemented ... Test objective: The objective is to test that GET method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ PUT Grants - Method not implemented ... Test title: PUT Grants - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ PATCH Grants - Method not implemented ... Test title: PATCH Grants - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,12 +97,13 @@ DELETE Grants - Method not implemented ... Test title: DELETE Grants - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: resources are not deleted Delete Grants Check HTTP Response Status Code Is 405 + Get an individual grant - Successful *** Keywords *** Wait for individual grant successful notification @@ -116,7 +117,7 @@ Send Request Grant Request in Synchronous mode ${body}= Get File jsons/grantRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Send Request Grant Request in Asynchronous mode Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants @@ -127,9 +128,9 @@ Send Request Grant Request in Asynchronous mode ${body}= Get File jsons/grantRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} -Send Request a new Grant Forbidden +Send Request for a new Grant Forbiden Operation Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants Log The grant request should be rejected Set Headers {"Accept": "${ACCEPT}"} @@ -138,7 +139,7 @@ Send Request a new Grant Forbidden ${body}= Get File jsons/grantRejectedRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Send Request Grant Request Set Headers {"Accept": "${ACCEPT}"} @@ -157,7 +158,7 @@ Check HTTP Response Status Code Is Log Status code validated Check Operation Occurrence Id existence - ${occId}= Get Value From Json ${response.headers} $..Location + ${occId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${occId} Check HTTP Response Header Contains @@ -168,7 +169,7 @@ Check HTTP Response Header Contains Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + Validate Json ${schema} ${response['body']} Get an individual grant - Successful log Trying to read an individual grant @@ -177,9 +178,6 @@ Get an individual grant - Successful Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 - ${result} Output response body - Validate Json grant.schema.json ${result} - Log Validation OK Get Grants Log Trying to perform a GET. This method should not be implemented @@ -187,7 +185,7 @@ Get Grants Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/grants ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Put Grants Log Trying to perform a PUT. This method should not be implemented @@ -195,7 +193,7 @@ Put Grants Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/grants ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Patch Grants Log Trying to perform a PATCH. This method should not be implemented @@ -203,7 +201,7 @@ Patch Grants Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/grants ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Delete Grants @@ -212,6 +210,6 @@ Delete Grants Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/grants ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} + - \ No newline at end of file diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot index 2cd9a3d6fa2b0f7c9fc00457f3f22b0f75752c4f..cb95734f572cf460f38d3d9f57db9d704eb17f43 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot @@ -3,7 +3,7 @@ Resource environment/variables.txt Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Documentation This resource represents an individual grant. The client can use this resource to read the grant. ... It is determined by means outside the scope of the present document, such as configuration or policy, ... how long an individual grant is available. @@ -17,7 +17,7 @@ POST Individual Grant - Method not implemented ... Test title: POST Individual Grant - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,13 +27,13 @@ POST Individual Grant - Method not implemented GET an individual grant - Successful [Documentation] Test ID: 7.3.2.2.2 ... Test title: GET an individual grant - Successful - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to retrieve a grant for a particular VNF Lifecycle Operation. ... Pre-conditions: The grant information is available to the VNFM - ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Get individual grant success + Get individual grant Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is grant @@ -41,13 +41,13 @@ GET an individual grant - Process ongoing [Tags] no-synchronous-mode [Documentation] Test ID: 7.3.2.2.3 ... Test title: GET an individual grant - Process ongoing - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to retrieve a grant for a particular VNF lifecycle operation when process is ongoing and no grant is available yet. ... Pre-conditions: The process of creating the grant is ongoing, no grant is available yet. - ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Get individual grant on-going + Get individual grant Check HTTP Response Status Code Is 202 Check HTTP Response Body Json Schema Is grant @@ -55,13 +55,13 @@ GET an individual grant - grant rejected [Tags] no-synchronous-mode [Documentation] Test ID: 7.3.2.2.4 ... Test title: GET an individual grant - grant rejected - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation - ... Pre-conditions: - ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Test objective: The objective is to retrieve a grant for a particular VNF Lifecycle Operation but error returned because grant has been rejected. + ... Pre-conditions: none + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The grant is rejected - Get individual grant rejected + ... Post-Conditions: none + Get individual grant Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails @@ -70,7 +70,7 @@ PUT an individual grant - Method not implemented ... Test title: PUT an individual grant - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ PATCH an individual grant - Method not implemented ... Test title: PATCH an individual grant - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -94,36 +94,21 @@ DELETE an individual grant - Method not implemented ... Test title: DELETE an individual grant - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Life cycle operation granting ... Pre-conditions: none - ... Reference: clause 9.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: grant not deleted + ... Post-Conditions: none Delete individual Grant Check HTTP Response Status Code Is 405 -*** Keywords *** -Get individual grant rejected - log Trying to read an individual grant - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} - ${body}= Output response - Set Suite Variable &{response} ${body} -Get individual grant on-going - log Trying to read an individual grant - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} - ${body}= Output response - Set Suite Variable &{response} ${body} - -Get individual grant success +*** Keywords *** +Get individual grant log Trying to read an individual grant Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Check resource existence Set Headers {"Accept":"${ACCEPT}"} @@ -138,7 +123,7 @@ Post individual Grant Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Put individual Grant Log Trying to perform a GET. This method should not be implemented @@ -146,7 +131,7 @@ Put individual Grant Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Patch individual Grant Log Trying to perform a GET. This method should not be implemented @@ -154,7 +139,7 @@ Patch individual Grant Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Delete individual Grant Log Trying to perform a GET. This method should not be implemented @@ -162,7 +147,7 @@ Delete individual Grant Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} ${body}= Output response - Set Suite Variable &{response} ${body} + Set Suite Variable ${response} ${body} Check HTTP Response Status Code Is [Arguments] ${expected_status} @@ -177,4 +162,4 @@ Check HTTP Response Header Contains Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} \ No newline at end of file + Validate Json ${schema} ${response['body']} diff --git a/SOL003/VNFLifecycleOperationGranting-API/SOL003-VNFLifecycleOperationGranting-API.json b/SOL003/VNFLifecycleOperationGranting-API/SOL003-VNFLifecycleOperationGranting-API.json deleted file mode 100644 index aab56ee2af02b1549bbd74238aba39fba84b694c..0000000000000000000000000000000000000000 --- a/SOL003/VNFLifecycleOperationGranting-API/SOL003-VNFLifecycleOperationGranting-API.json +++ /dev/null @@ -1,2774 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL003 - VNF Lifecycle Operation Granting interface", - "description": "SOL003 - VNF Lifecycle Operation Granting interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 003 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf" - }, - "basePath": "/grant/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/grants": { - "post": { - "description": "Grant Lifecycle Operation\n\nThe POST method requests a grant for a particular VNF lifecycle operation.\n", - "parameters": [ - { - "name": "GrantRequest", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a grant request.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfLcmOpOccId", - "vnfdId", - "operation", - "isAutomaticInvocation", - "_links" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "SCALE_TO_LEVEL", - "CHANGE_FLAVOUR", - "TERMINATE", - "HEAL", - "OPERATE", - "CHANGE_EXT_CONN", - "MODIFY_INFO" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto-heal). Set to false otherwise.\n", - "type": "boolean" - }, - "instantiationLevelId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "addResources": { - "description": "List of resource definitions in the VNFD for resources to be added by the LCM operation which is related to this grant request, with one entry per resource. If the granting request is for InstantiateVNF, either instantiationLevel or addResources shall be present.\n", - "type": "array", - "items": { - "description": "This type provides information of an existing or proposed resource used by the VNF.\n", - "type": "object", - "required": [ - "id", - "type" - ], - "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" - }, - "type": { - "description": "Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n", - "type": "string", - "enum": [ - "COMPUTE", - "VL", - "STORAGE", - "LINKPORT" - ] - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resourceTemplateId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - }, - "tempResources": { - "description": "List of resource definitions in the VNFD for resources to be temporarily instantiated during the runtime of the LCM operation which is related to this grant request, with one entry per resource. The NFVO will assume that the VNFM will be responsible to both allocate and release the temporary resource during the runtime of the LCM operation. This means, the resource can be allocated and consumed after the \"start\" notification for the LCM operation is sent by the VNFM, and the resource will be released before the \"result\" notification of the VNF LCM operation is sent by the VNFM.\n", - "type": "array", - "items": { - "description": "This type provides information of an existing or proposed resource used by the VNF.\n", - "type": "object", - "required": [ - "id", - "type" - ], - "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" - }, - "type": { - "description": "Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n", - "type": "string", - "enum": [ - "COMPUTE", - "VL", - "STORAGE", - "LINKPORT" - ] - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resourceTemplateId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - }, - "removeResources": { - "description": "Provides the definitions of resources to be removed by the LCM operation which is related to this grant request, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type provides information of an existing or proposed resource used by the VNF.\n", - "type": "object", - "required": [ - "id", - "type" - ], - "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" - }, - "type": { - "description": "Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n", - "type": "string", - "enum": [ - "COMPUTE", - "VL", - "STORAGE", - "LINKPORT" - ] - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resourceTemplateId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - }, - "updateResources": { - "description": "Provides the definitions of resources to be modified by the LCM operation which is related to this grant request, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type provides information of an existing or proposed resource used by the VNF.\n", - "type": "object", - "required": [ - "id", - "type" - ], - "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" - }, - "type": { - "description": "Type of the resource definition referenced. Permitted values: * COMPUTE * VL * STORAGE * LINKPORT\n", - "type": "string", - "enum": [ - "COMPUTE", - "VL", - "STORAGE", - "LINKPORT" - ] - }, - "vduId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resourceTemplateId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "resource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - }, - "placementConstraints": { - "description": "Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision. If sent, the NFVO shall take the constraints into consideration when making resource placement decisions, and shall reject the grant if they cannot be honoured. The affinity/anti-affinity rules defined in the VNFD , and the placement constraints in the GrantVnfLifecycleOperation as defined in this clause should be conflict-free. In case of conflicts, the placement constraints in the GrantVnfLifecycleOperation shall take precedence. Passing constraints allows the VNFM or the lifecycle management scripts to influence resource placement decisions by the NFVO to ensure VNF properties such as performance or fault tolerance.\n", - "type": "array", - "items": { - "description": "This type provides information regarding a resource placement constraint. A set of such constraints may be sent by the VNFM to the NFVO to influence the resource placement decisions made by the NFVO as part of the granting process. A placement constraint defines a condition to the placement of new resources, considering other new resources as well as existing resources. EXAMPLE: The following rules influence the placement of a set of resources such that they are placed in the same Network Function Virtualisation Infrastructure Point of Presence (NFVI-PoP) but in different resource zones: {type=\"affinity\"; scope=\"NFVI_POP\"; {resource1,resource2}} {type=\"anti-affinity\"; scope=\"ZONE\"; {resource1,resource2}}\n", - "type": "object", - "required": [ - "affinityOrAntiAffinity", - "scope", - "resource" - ], - "properties": { - "affinityOrAntiAffinity": { - "description": "The type of the constraint. Permitted values: * AFFINITY * ANTI_AFFINITY\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "The scope of the placement constraint indicating the category of the \"place\" where the constraint applies. Permitted values: * NFVI_POP * ZONE * ZONE_GROUP * NFVI_NODE\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - }, - "resource": { - "description": "References to resources in the constraint rule.\n", - "type": "array", - "items": { - "description": "This type references a resource either by its VIM-level identifier for existing resources, or by the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure for new resources.\n", - "type": "object", - "required": [ - "idType", - "resourceId" - ], - "properties": { - "idType": { - "description": "The type of the identifier. Permitted values: * RES_MGMT: Resource-management-level identifier; this identifier is managed by the VIM in the direct mode of VNF-related resource\n management, and is managed by the NFVO in the indirect mode)\n* GRANT: Reference to the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure.\n", - "type": "string", - "enum": [ - "RES_MGMT", - "GRANT" - ] - }, - "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" - }, - "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" - } - } - } - } - } - } - }, - "vimConstraints": { - "description": "Used by the VNFM to require that multiple resources are managed through the same VIM connection. If sent, the NFVO shall take the constraints into consideration when making VIM selection decisions, and shall reject the grant if they cannot be honoured. This attribute shall be supported if VNF-related Resource Management in direct mode is applicable. The applicability and further details of this attribute for indirect mode are left for future specification.\n", - "type": "array", - "items": { - "description": "This type provides information regarding a VIM selection constraint. A set of such constraints may be sent by the VNFM to the NFVO to influence the VIM selection decisions made by the NFVO as part of the granting process.\n", - "type": "object", - "required": [ - "resource" - ], - "properties": { - "sameResourceGroup": { - "description": "If present and set to true, this signals that the constraint applies not only to the same VIM connection, but also to the same infrastructure resource group.\n", - "type": "boolean" - }, - "resource": { - "description": "References to resources in the constraint rule. The NFVO shall ensure that all resources in this list are managed through the same VIM connection. If \"sameResourceGroup\" is set to true, the NFVO shall further ensure that all resources in this list are part of the same infrastructure resource group in that VIM connection.\n", - "type": "array", - "items": { - "description": "This type references a resource either by its VIM-level identifier for existing resources, or by the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure for new resources.\n", - "type": "object", - "required": [ - "idType", - "resourceId" - ], - "properties": { - "idType": { - "description": "The type of the identifier. Permitted values: * RES_MGMT: Resource-management-level identifier; this identifier is managed by the VIM in the direct mode of VNF-related resource\n management, and is managed by the NFVO in the indirect mode)\n* GRANT: Reference to the identifier of a \"ResourceDefinition\" structure in the \"GrantRequest\" structure.\n", - "type": "string", - "enum": [ - "RES_MGMT", - "GRANT" - ] - }, - "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" - }, - "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" - } - } - } - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this request.\n", - "type": "object", - "required": [ - "vnfLcmOpOcc", - "vnfInstance" - ], - "properties": { - "vnfLcmOpOcc": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "201": { - "description": "Created\nThe grant was created successfully (synchronous mode). A representation of the created \"Individual grant\" resource shall be returned in the response body. The HTTP response shall include a \"Location\" HTTP header that indicates the URI of the \"Individual grant\" resource just created.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a grant.\n", - "type": "object", - "required": [ - "id", - "vnfInstanceId", - "vnfLcmOpOccId", - "_links" - ], - "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" - }, - "vnfLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimConnections": { - "description": "Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. The VNFM shall update the \" vimConnectionInfo\" attribute of the \"VnfInstance\" structure by adding unknown entries received in this attribute. This attribute is not intended for the modification of VimConnection entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the \"vims\" attribute in the Grant is not greater than 1.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "zones": { - "description": "Identifies resource zones where the resources are approved to be allocated by the VNFM.\n", - "type": "array", - "items": { - "description": "This type provides information regarding a resource zone.\n", - "type": "object", - "required": [ - "id", - "zoneId" - ], - "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" - }, - "zoneId": { - "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" - } - } - } - }, - "zoneGroups": { - "description": "Information about groups of resource zones that are related and that the NFVO has chosen to fulfil a zoneGroup constraint in the GrantVnfLifecycleOperation request. This information confirms that the NFVO has honoured the zoneGroup constraints that were passed as part of \"placementConstraints\" in the GrantRequest.\n", - "type": "array", - "items": { - "description": "This type provides information regarding a resource zone group. A resource zone group is a group of one or more related resource zones which can be used in resource placement constraints. To fulfil such constraint, the NFVO may decide to place a resource into any zone that belongs to a particular group. NOTE: A resource zone group can be used to support overflow from one resource zone into another, in case a particular deployment supports only non-elastic resource zones.\n", - "type": "object", - "required": [ - "zoneId" - ], - "properties": { - "zoneId": { - "description": "References of identifiers of \"ZoneInfo\" structures, each of which provides information about a resource zone that belongs to this group.\n", - "type": "array", - "items": { - "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" - } - } - } - } - }, - "computeReservationId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "networkReservationId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "storageReservationId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "addResources": { - "description": "List of resources that are approved to be added, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "tempResources": { - "description": "List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "removeResources": { - "description": "List of resources that are approved to be removed, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "updateResources": { - "description": "List of resources that are approved to be modified, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "vimAssets": { - "description": "Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. This attribute is not intended for the modification of vimAssets entries passed earlier. Modification of VIM assets during the lifetime of a VNF instance is not necessary, since it is expected that all applicable assets have been on boarded into the VIM before the VNF is instantiated.\n", - "type": "object", - "properties": { - "computeResourceFlavours": { - "description": "Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.\n", - "type": "array", - "items": { - "description": "If the VIM requires the use of virtual compute resource flavours during compute resource instantiation, it is assumed that such flavours are selected or created by the NFVO based on the information in the virtual compute descriptor defined in the VNFD. This type defines the mapping between a virtual compute descriptor in the VNFD and the corresponding compute resource flavour managed by the NFVO in the VIM.\n", - "type": "object", - "required": [ - "vnfdVirtualComputeDescId", - "vimFlavourId" - ], - "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" - }, - "vnfdVirtualComputeDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vimFlavourId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "softwareImages": { - "description": "Mappings between software images defined in the VNFD and software images managed in the VIM.\n", - "type": "array", - "items": { - "description": "This type contains a mapping between a software image definition the VNFD and the corresponding software image managed by the NFVO in the VIM which is needed during compute resource instantiation.\n", - "type": "object", - "required": [ - "vnfdSoftwareImageId", - "vimSoftwareImageId" - ], - "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" - }, - "vnfdSoftwareImageId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vimSoftwareImageId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - }, - "extVirtualLinks": { - "description": "Information about external VLs to connect the VNF to. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by other entities than the VNFM. 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. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "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" - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfLcmOpOcc", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfLcmOpOcc": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "202": { - "description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. It is expected to take some time to create the grant (asynchronous mode). The response body shall be empty. The HTTP response shall include a \"Location\" HTTP header that indicates the URI of the \"Individual grant\" resource that will be created once the granting decision has been made.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nThe grant was rejected. A ProblemDetails structure shall be included in the response to provide more details about the rejection in the \"details\" attribute.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "422": { - "description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/grants/{grantId}": { - "parameters": [ - { - "name": "grantId", - "description": "Identifier of the grant. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request granting a new VNF lifecycle operation. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "Grant Lifecycle Operation\n\nThe GET method retrieves information about a specific grant by reading an individual grant resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nThe grant was read successfully. A representation of the \"individual grant\" resource shall be returned in the response body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a grant.\n", - "type": "object", - "required": [ - "id", - "vnfInstanceId", - "vnfLcmOpOccId", - "_links" - ], - "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" - }, - "vnfLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimConnections": { - "description": "Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. The VNFM shall update the \" vimConnectionInfo\" attribute of the \"VnfInstance\" structure by adding unknown entries received in this attribute. This attribute is not intended for the modification of VimConnection entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the \"vims\" attribute in the Grant is not greater than 1.\n", - "type": "array", - "items": { - "description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n", - "type": "object", - "required": [ - "id", - "vimType" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimType": { - "description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n", - "type": "string" - }, - "interfaceInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "accessInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extra": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - }, - "zones": { - "description": "Identifies resource zones where the resources are approved to be allocated by the VNFM.\n", - "type": "array", - "items": { - "description": "This type provides information regarding a resource zone.\n", - "type": "object", - "required": [ - "id", - "zoneId" - ], - "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" - }, - "zoneId": { - "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" - } - } - } - }, - "zoneGroups": { - "description": "Information about groups of resource zones that are related and that the NFVO has chosen to fulfil a zoneGroup constraint in the GrantVnfLifecycleOperation request. This information confirms that the NFVO has honoured the zoneGroup constraints that were passed as part of \"placementConstraints\" in the GrantRequest.\n", - "type": "array", - "items": { - "description": "This type provides information regarding a resource zone group. A resource zone group is a group of one or more related resource zones which can be used in resource placement constraints. To fulfil such constraint, the NFVO may decide to place a resource into any zone that belongs to a particular group. NOTE: A resource zone group can be used to support overflow from one resource zone into another, in case a particular deployment supports only non-elastic resource zones.\n", - "type": "object", - "required": [ - "zoneId" - ], - "properties": { - "zoneId": { - "description": "References of identifiers of \"ZoneInfo\" structures, each of which provides information about a resource zone that belongs to this group.\n", - "type": "array", - "items": { - "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" - } - } - } - } - }, - "computeReservationId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "networkReservationId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "storageReservationId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "addResources": { - "description": "List of resources that are approved to be added, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "tempResources": { - "description": "List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "removeResources": { - "description": "List of resources that are approved to be removed, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "updateResources": { - "description": "List of resources that are approved to be modified, with one entry per resource.\n", - "type": "array", - "items": { - "description": "This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted.\n", - "type": "object", - "required": [ - "resourceDefinitionId" - ], - "properties": { - "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" - }, - "reservationId": { - "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" - }, - "zoneId": { - "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" - }, - "resourceGroupId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "vimAssets": { - "description": "Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. This attribute is not intended for the modification of vimAssets entries passed earlier. Modification of VIM assets during the lifetime of a VNF instance is not necessary, since it is expected that all applicable assets have been on boarded into the VIM before the VNF is instantiated.\n", - "type": "object", - "properties": { - "computeResourceFlavours": { - "description": "Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM.\n", - "type": "array", - "items": { - "description": "If the VIM requires the use of virtual compute resource flavours during compute resource instantiation, it is assumed that such flavours are selected or created by the NFVO based on the information in the virtual compute descriptor defined in the VNFD. This type defines the mapping between a virtual compute descriptor in the VNFD and the corresponding compute resource flavour managed by the NFVO in the VIM.\n", - "type": "object", - "required": [ - "vnfdVirtualComputeDescId", - "vimFlavourId" - ], - "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" - }, - "vnfdVirtualComputeDescId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vimFlavourId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "softwareImages": { - "description": "Mappings between software images defined in the VNFD and software images managed in the VIM.\n", - "type": "array", - "items": { - "description": "This type contains a mapping between a software image definition the VNFD and the corresponding software image managed by the NFVO in the VIM which is needed during compute resource instantiation.\n", - "type": "object", - "required": [ - "vnfdSoftwareImageId", - "vimSoftwareImageId" - ], - "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" - }, - "vnfdSoftwareImageId": { - "description": "An identifier that is unique within a VNF descriptor.\n", - "type": "string" - }, - "vimSoftwareImageId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - }, - "extVirtualLinks": { - "description": "Information about external VLs to connect the VNF to. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\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": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by other entities than the VNFM. 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. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "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" - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "vnfLcmOpOcc", - "vnfInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfLcmOpOcc": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "202": { - "description": "Accepted\nThe process of creating the grant is ongoing, no grant is available yet. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nThe grant was rejected. A ProblemDetails structure shall be included in the response to provide more details about the rejection in the \"details\" attribute.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "422": { - "description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL003/VNFLifecycleOperationGranting-API/SOL003-VNFLifecycleOperationGranting-API.yaml b/SOL003/VNFLifecycleOperationGranting-API/SOL003-VNFLifecycleOperationGranting-API.yaml deleted file mode 100644 index e68038cbe4d5bf01b46e90e8dd74178832eb1b18..0000000000000000000000000000000000000000 --- a/SOL003/VNFLifecycleOperationGranting-API/SOL003-VNFLifecycleOperationGranting-API.yaml +++ /dev/null @@ -1,4058 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL003 - VNF Lifecycle Operation Granting interface - description: > - SOL003 - VNF Lifecycle Operation Granting interface - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering - mechanism is defined. This mechanism is currently not included in the - corresponding OpenAPI design for this GS version. Changes to the - attribute-based filtering mechanism are being considered in v2.5.1 of this - GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf -basePath: /grant/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -paths: - /grants: - post: - description: > - Grant Lifecycle Operation - - - The POST method requests a grant for a particular VNF lifecycle - operation. - parameters: - - name: GrantRequest - in: body - required: true - schema: - description: | - This type represents a grant request. - type: object - required: - - vnfInstanceId - - vnfLcmOpOccId - - vnfdId - - operation - - isAutomaticInvocation - - _links - properties: - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfLcmOpOccId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - flavourId: - description: | - An identifier with the intention of being globally unique. - type: string - operation: - description: > - Value | Description ------|------------ INSTANTIATE | - Represents the "Instantiate VNF" LCM operation. SCALE | - Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | - Represents the "Scale VNF to Level" LCM operation. - CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM - operation. TERMINATE | Represents the "Terminate VNF" LCM - operation. HEAL | Represents the "Heal VNF" LCM operation. - OPERATE | Represents the "Operate VNF" LCM operation. - CHANGE_EXT_CONN | Represents the "Change external VNF - connectivity" LCM operation. MODIFY_INFO | Represents the - "Modify VNF Information" LCM operation. - type: string - enum: - - INSTANTIATE - - SCALE - - SCALE_TO_LEVEL - - CHANGE_FLAVOUR - - TERMINATE - - HEAL - - OPERATE - - CHANGE_EXT_CONN - - MODIFY_INFO - isAutomaticInvocation: - description: > - Set to true if this VNF LCM operation occurrence has been - triggered by an automated procedure inside the VNFM (i.e. - ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf - triggered by auto-heal). Set to false otherwise. - type: boolean - instantiationLevelId: - description: | - An identifier with the intention of being globally unique. - type: string - addResources: - description: > - List of resource definitions in the VNFD for resources to be - added by the LCM operation which is related to this grant - request, with one entry per resource. If the granting request - is for InstantiateVNF, either instantiationLevel or - addResources shall be present. - type: array - items: - description: > - This type provides information of an existing or proposed - resource used by the VNF. - type: object - required: - - id - - type - 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. - type: string - type: - description: > - Type of the resource definition referenced. Permitted - values: * COMPUTE * VL * STORAGE * LINKPORT - type: string - enum: - - COMPUTE - - VL - - STORAGE - - LINKPORT - vduId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resourceTemplateId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - tempResources: - description: > - List of resource definitions in the VNFD for resources to be - temporarily instantiated during the runtime of the LCM - operation which is related to this grant request, with one - entry per resource. The NFVO will assume that the VNFM will be - responsible to both allocate and release the temporary - resource during the runtime of the LCM operation. This means, - the resource can be allocated and consumed after the "start" - notification for the LCM operation is sent by the VNFM, and - the resource will be released before the "result" notification - of the VNF LCM operation is sent by the VNFM. - type: array - items: - description: > - This type provides information of an existing or proposed - resource used by the VNF. - type: object - required: - - id - - type - 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. - type: string - type: - description: > - Type of the resource definition referenced. Permitted - values: * COMPUTE * VL * STORAGE * LINKPORT - type: string - enum: - - COMPUTE - - VL - - STORAGE - - LINKPORT - vduId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resourceTemplateId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - removeResources: - description: > - Provides the definitions of resources to be removed by the LCM - operation which is related to this grant request, with one - entry per resource. - type: array - items: - description: > - This type provides information of an existing or proposed - resource used by the VNF. - type: object - required: - - id - - type - 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. - type: string - type: - description: > - Type of the resource definition referenced. Permitted - values: * COMPUTE * VL * STORAGE * LINKPORT - type: string - enum: - - COMPUTE - - VL - - STORAGE - - LINKPORT - vduId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resourceTemplateId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - updateResources: - description: > - Provides the definitions of resources to be modified by the - LCM operation which is related to this grant request, with one - entry per resource. - type: array - items: - description: > - This type provides information of an existing or proposed - resource used by the VNF. - type: object - required: - - id - - type - 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. - type: string - type: - description: > - Type of the resource definition referenced. Permitted - values: * COMPUTE * VL * STORAGE * LINKPORT - type: string - enum: - - COMPUTE - - VL - - STORAGE - - LINKPORT - vduId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resourceTemplateId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - resource: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by a VNF - instance. Information about the resource is available - from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM or the - resource provider. - type: string - placementConstraints: - description: > - Placement constraints that the VNFM may send to the NFVO in - order to influence the resource placement decision. If sent, - the NFVO shall take the constraints into consideration when - making resource placement decisions, and shall reject the - grant if they cannot be honoured. The affinity/anti-affinity - rules defined in the VNFD , and the placement constraints in - the GrantVnfLifecycleOperation as defined in this clause - should be conflict-free. In case of conflicts, the placement - constraints in the GrantVnfLifecycleOperation shall take - precedence. Passing constraints allows the VNFM or the - lifecycle management scripts to influence resource placement - decisions by the NFVO to ensure VNF properties such as - performance or fault tolerance. - type: array - items: - description: > - This type provides information regarding a resource - placement constraint. A set of such constraints may be sent - by the VNFM to the NFVO to influence the resource placement - decisions made by the NFVO as part of the granting process. - A placement constraint defines a condition to the placement - of new resources, considering other new resources as well as - existing resources. EXAMPLE: The following rules influence - the placement of a set of resources such that they are - placed in the same Network Function Virtualisation - Infrastructure Point of Presence (NFVI-PoP) but in different - resource zones: {type="affinity"; scope="NFVI_POP"; - {resource1,resource2}} {type="anti-affinity"; scope="ZONE"; - {resource1,resource2}} - type: object - required: - - affinityOrAntiAffinity - - scope - - resource - properties: - affinityOrAntiAffinity: - description: > - The type of the constraint. Permitted values: * AFFINITY - * ANTI_AFFINITY - type: string - enum: - - AFFINITY - - ANTI_AFFINITY - scope: - description: > - The scope of the placement constraint indicating the - category of the "place" where the constraint applies. - Permitted values: * NFVI_POP * ZONE * ZONE_GROUP * - NFVI_NODE - type: string - enum: - - NFVI_POP - - ZONE - - ZONE_GROUP - - NFVI_NODE - resource: - description: | - References to resources in the constraint rule. - type: array - items: - description: > - This type references a resource either by its - VIM-level identifier for existing resources, or by the - identifier of a "ResourceDefinition" structure in the - "GrantRequest" structure for new resources. - type: object - required: - - idType - - resourceId - properties: - idType: - description: > - The type of the identifier. Permitted values: * - RES_MGMT: Resource-management-level identifier; - this identifier is - managed by the VIM in the direct mode of VNF-related resource - management, and is managed by the NFVO in the indirect mode) - * GRANT: Reference to the identifier of a - "ResourceDefinition" structure in the - "GrantRequest" structure. - type: string - enum: - - RES_MGMT - - GRANT - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConstraints: - description: > - Used by the VNFM to require that multiple resources are - managed through the same VIM connection. If sent, the NFVO - shall take the constraints into consideration when making VIM - selection decisions, and shall reject the grant if they cannot - be honoured. This attribute shall be supported if VNF-related - Resource Management in direct mode is applicable. The - applicability and further details of this attribute for - indirect mode are left for future specification. - type: array - items: - description: > - This type provides information regarding a VIM selection - constraint. A set of such constraints may be sent by the - VNFM to the NFVO to influence the VIM selection decisions - made by the NFVO as part of the granting process. - type: object - required: - - resource - properties: - sameResourceGroup: - description: > - If present and set to true, this signals that the - constraint applies not only to the same VIM connection, - but also to the same infrastructure resource group. - type: boolean - resource: - description: > - References to resources in the constraint rule. The NFVO - shall ensure that all resources in this list are managed - through the same VIM connection. If "sameResourceGroup" - is set to true, the NFVO shall further ensure that all - resources in this list are part of the same - infrastructure resource group in that VIM connection. - type: array - items: - description: > - This type references a resource either by its - VIM-level identifier for existing resources, or by the - identifier of a "ResourceDefinition" structure in the - "GrantRequest" structure for new resources. - type: object - required: - - idType - - resourceId - properties: - idType: - description: > - The type of the identifier. Permitted values: * - RES_MGMT: Resource-management-level identifier; - this identifier is - managed by the VIM in the direct mode of VNF-related resource - management, and is managed by the NFVO in the indirect mode) - * GRANT: Reference to the identifier of a - "ResourceDefinition" structure in the - "GrantRequest" structure. - type: string - enum: - - RES_MGMT - - GRANT - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this request. - type: object - required: - - vnfLcmOpOcc - - vnfInstance - properties: - vnfLcmOpOcc: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '201': - description: > - Created - - The grant was created successfully (synchronous mode). A - representation of the created "Individual grant" resource shall be - returned in the response body. The HTTP response shall include a - "Location" HTTP header that indicates the URI of the "Individual - grant" resource just created. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a grant. - type: object - required: - - id - - vnfInstanceId - - vnfLcmOpOccId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfLcmOpOccId: - description: | - An identifier with the intention of being globally unique. - type: string - vimConnections: - description: > - Provides information regarding VIM connections that are - approved to be used by the VNFM to allocate resources, and - provides parameters of these VIM connections. The VNFM shall - update the " vimConnectionInfo" attribute of the "VnfInstance" - structure by adding unknown entries received in this - attribute. This attribute is not intended for the modification - of VimConnection entries passed earlier; for that, the - VnfInfoModificationRequest structure shall be used. This - attribute shall only be supported when VNF-related Resource - Management in direct mode is applicable. In direct mode, this - parameter shall be absent if the VIM information was - configured to the VNFM in another way, present otherwise. This - interface allows to signal the use of multiple VIMs per VNF. - However, due to the partial support of this feature in the - present release, it is recommended in the present document - that the number of entries in the "vims" attribute in the - Grant is not greater than 1. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - zones: - description: > - Identifies resource zones where the resources are approved to - be allocated by the VNFM. - type: array - items: - description: | - This type provides information regarding a resource zone. - type: object - required: - - id - - zoneId - 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. - type: string - zoneId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneGroups: - description: > - Information about groups of resource zones that are related - and that the NFVO has chosen to fulfil a zoneGroup constraint - in the GrantVnfLifecycleOperation request. This information - confirms that the NFVO has honoured the zoneGroup constraints - that were passed as part of "placementConstraints" in the - GrantRequest. - type: array - items: - description: > - This type provides information regarding a resource zone - group. A resource zone group is a group of one or more - related resource zones which can be used in resource - placement constraints. To fulfil such constraint, the NFVO - may decide to place a resource into any zone that belongs to - a particular group. NOTE: A resource zone group can be used - to support overflow from one resource zone into another, in - case a particular deployment supports only non-elastic - resource zones. - type: object - required: - - zoneId - properties: - zoneId: - description: > - References of identifiers of "ZoneInfo" structures, each - of which provides information about a resource zone that - belongs to this group. - type: array - items: - 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. - type: string - computeReservationId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - networkReservationId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - storageReservationId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - addResources: - description: > - List of resources that are approved to be added, with one - entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - tempResources: - description: > - List of resources that are approved to be temporarily - instantiated during the runtime of the lifecycle operation, - with one entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - removeResources: - description: > - List of resources that are approved to be removed, with one - entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - updateResources: - description: > - List of resources that are approved to be modified, with one - entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - vimAssets: - description: > - Information about assets for the VNF that are managed by the - NFVO in the VIM, such as software images and virtualised - compute resource flavours. This attribute is not intended for - the modification of vimAssets entries passed earlier. - Modification of VIM assets during the lifetime of a VNF - instance is not necessary, since it is expected that all - applicable assets have been on boarded into the VIM before the - VNF is instantiated. - type: object - properties: - computeResourceFlavours: - description: > - Mappings between virtual compute descriptors defined in - the VNFD and compute resource flavours managed in the VIM. - type: array - items: - description: > - If the VIM requires the use of virtual compute resource - flavours during compute resource instantiation, it is - assumed that such flavours are selected or created by - the NFVO based on the information in the virtual compute - descriptor defined in the VNFD. This type defines the - mapping between a virtual compute descriptor in the VNFD - and the corresponding compute resource flavour managed - by the NFVO in the VIM. - type: object - required: - - vnfdVirtualComputeDescId - - vimFlavourId - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfdVirtualComputeDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vimFlavourId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - softwareImages: - description: > - Mappings between software images defined in the VNFD and - software images managed in the VIM. - type: array - items: - description: > - This type contains a mapping between a software image - definition the VNFD and the corresponding software image - managed by the NFVO in the VIM which is needed during - compute resource instantiation. - type: object - required: - - vnfdSoftwareImageId - - vimSoftwareImageId - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfdSoftwareImageId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vimSoftwareImageId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - extVirtualLinks: - description: > - Information about external VLs to connect the VNF to. External - and/or externally-managed internal VLs can be passed in VNF - lifecycle management operation requests such as InstantiateVnf - or ChangeVnfFlavor, and/or in the grant response. The NFVO may - choose to override in the grant response external and/or - externally-managed VL instances that have been passed - previously in the associated VNF lifecycle management request, - if the lifecycle management request has originated from the - NFVO itself. - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extManagedVirtualLinks: - description: > - Information about internal VLs that are managed by other - entities than the VNFM. 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. External and/or externally-managed - internal VLs can be passed in VNF lifecycle management - operation requests such as InstantiateVnf or ChangeVnfFlavor, - and/or in the grant response. The NFVO may choose to override - in the grant response external and/or externally-managed VL - instances that have been passed previously in the associated - VNF lifecycle management request, if the lifecycle management - request has originated from the NFVO itself. - type: array - items: - type: object - required: - - id - - virtualLinkDescId - - resourceId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - virtualLinkDescId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfLcmOpOcc - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfLcmOpOcc: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '202': - description: > - Accepted - - The request was accepted for processing, but the processing has not - been completed. It is expected to take some time to create the grant - (asynchronous mode). The response body shall be empty. The HTTP - response shall include a "Location" HTTP header that indicates the - URI of the "Individual grant" resource that will be created once the - granting decision has been made. - headers: - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - The grant was rejected. A ProblemDetails structure shall be included - in the response to provide more details about the rejection in the - "details" attribute. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '422': - description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. NOTE 2: - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/grants/{grantId}': - parameters: - - name: grantId - description: > - Identifier of the grant. This identifier can be retrieved from the - resource referenced by the "Location" HTTP header in the response to a - POST request granting a new VNF lifecycle operation. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: > - Grant Lifecycle Operation - - - The GET method retrieves information about a specific grant by reading - an individual grant resource. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - The grant was read successfully. A representation of the "individual - grant" resource shall be returned in the response body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents a grant. - type: object - required: - - id - - vnfInstanceId - - vnfLcmOpOccId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfInstanceId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfLcmOpOccId: - description: | - An identifier with the intention of being globally unique. - type: string - vimConnections: - description: > - Provides information regarding VIM connections that are - approved to be used by the VNFM to allocate resources, and - provides parameters of these VIM connections. The VNFM shall - update the " vimConnectionInfo" attribute of the "VnfInstance" - structure by adding unknown entries received in this - attribute. This attribute is not intended for the modification - of VimConnection entries passed earlier; for that, the - VnfInfoModificationRequest structure shall be used. This - attribute shall only be supported when VNF-related Resource - Management in direct mode is applicable. In direct mode, this - parameter shall be absent if the VIM information was - configured to the VNFM in another way, present otherwise. This - interface allows to signal the use of multiple VIMs per VNF. - However, due to the partial support of this feature in the - present release, it is recommended in the present document - that the number of entries in the "vims" attribute in the - Grant is not greater than 1. - type: array - items: - description: > - This type represents parameters to connect to a VIM for - managing the resources of a VNF instance. This structure is - used to convey VIM-related parameters over the Or-Vnfm - interface. Additional parameters for a VIM may be configured - into the VNFM by means outside the scope of the present - document, and bound to the identifier of that VIM. - type: object - required: - - id - - vimType - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimType: - description: > - Discriminator for the different types of the VIM - information. The value of this attribute determines the - structure of the "interfaceInfo" and "accessInfo" - attributes, based on the type of the VIM. The set of - permitted values is expected to change over time as new - types or versions of VIMs become available. The ETSI NFV - registry of VIM-related information provides access to - information about VimConnectionInfo definitions for - various VIM types. The structure of the registry is - defined in Annex C of SOL003. - type: string - interfaceInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - accessInfo: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - extra: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - zones: - description: > - Identifies resource zones where the resources are approved to - be allocated by the VNFM. - type: array - items: - description: | - This type provides information regarding a resource zone. - type: object - required: - - id - - zoneId - 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. - type: string - zoneId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneGroups: - description: > - Information about groups of resource zones that are related - and that the NFVO has chosen to fulfil a zoneGroup constraint - in the GrantVnfLifecycleOperation request. This information - confirms that the NFVO has honoured the zoneGroup constraints - that were passed as part of "placementConstraints" in the - GrantRequest. - type: array - items: - description: > - This type provides information regarding a resource zone - group. A resource zone group is a group of one or more - related resource zones which can be used in resource - placement constraints. To fulfil such constraint, the NFVO - may decide to place a resource into any zone that belongs to - a particular group. NOTE: A resource zone group can be used - to support overflow from one resource zone into another, in - case a particular deployment supports only non-elastic - resource zones. - type: object - required: - - zoneId - properties: - zoneId: - description: > - References of identifiers of "ZoneInfo" structures, each - of which provides information about a resource zone that - belongs to this group. - type: array - items: - 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. - type: string - computeReservationId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - networkReservationId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - storageReservationId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM instance. - type: string - addResources: - description: > - List of resources that are approved to be added, with one - entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - tempResources: - description: > - List of resources that are approved to be temporarily - instantiated during the runtime of the lifecycle operation, - with one entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - removeResources: - description: > - List of resources that are approved to be removed, with one - entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - updateResources: - description: > - List of resources that are approved to be modified, with one - entry per resource. - type: array - items: - description: > - This type contains information about a Compute, storage or - network resource whose addition/update/deletion was granted. - type: object - required: - - resourceDefinitionId - properties: - 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. - type: string - reservationId: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - zoneId: - 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. - type: string - resourceGroupId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - vimAssets: - description: > - Information about assets for the VNF that are managed by the - NFVO in the VIM, such as software images and virtualised - compute resource flavours. This attribute is not intended for - the modification of vimAssets entries passed earlier. - Modification of VIM assets during the lifetime of a VNF - instance is not necessary, since it is expected that all - applicable assets have been on boarded into the VIM before the - VNF is instantiated. - type: object - properties: - computeResourceFlavours: - description: > - Mappings between virtual compute descriptors defined in - the VNFD and compute resource flavours managed in the VIM. - type: array - items: - description: > - If the VIM requires the use of virtual compute resource - flavours during compute resource instantiation, it is - assumed that such flavours are selected or created by - the NFVO based on the information in the virtual compute - descriptor defined in the VNFD. This type defines the - mapping between a virtual compute descriptor in the VNFD - and the corresponding compute resource flavour managed - by the NFVO in the VIM. - type: object - required: - - vnfdVirtualComputeDescId - - vimFlavourId - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfdVirtualComputeDescId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vimFlavourId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - softwareImages: - description: > - Mappings between software images defined in the VNFD and - software images managed in the VIM. - type: array - items: - description: > - This type contains a mapping between a software image - definition the VNFD and the corresponding software image - managed by the NFVO in the VIM which is needed during - compute resource instantiation. - type: object - required: - - vnfdSoftwareImageId - - vimSoftwareImageId - properties: - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfdSoftwareImageId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - vimSoftwareImageId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - extVirtualLinks: - description: > - Information about external VLs to connect the VNF to. External - and/or externally-managed internal VLs can be passed in VNF - lifecycle management operation requests such as InstantiateVnf - or ChangeVnfFlavor, and/or in the grant response. The NFVO may - choose to override in the grant response external and/or - externally-managed VL instances that have been passed - previously in the associated VNF lifecycle management request, - if the lifecycle management request has originated from the - NFVO itself. - type: array - items: - description: | - This type represents an external VL. - type: object - required: - - id - - resourceId - - extCps - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - extCps: - description: > - External CPs of the VNF to be connected to this external - VL. - type: array - items: - description: > - This type represents configuration information for - external CPs created from a CPD. - type: object - required: - - cpdId - properties: - cpdId: - description: > - An identifier that is unique within a VNF - descriptor. - type: string - cpConfig: - description: > - List of instance data that need to be configured - on the CP instances created from the respective - CPD. - type: array - items: - description: > - This type represents an externally provided link - port or network address information per instance - of an external connection point. In case a link - port is provided, the VNFM shall use that link - port when connecting the external CP to the - external VL. In a link port is not provided, the - VNFM shall create a link port on the external - VL, and use that link port to connect the - external CP to the external VL. - type: object - properties: - cpInstanceId: - description: > - An identifier that is unique for the - respective type within a VNF instance, but - may not be globally unique. - type: string - linkPortId: - description: > - An identifier with the intention of being - globally unique. - type: string - cpProtocolData: - description: > - Parameters for configuring the network - protocols on the link port that connects the - CP to a VL. The following conditions apply - to the attributes "linkPortId" and - "cpProtocolData": * The "linkPortId" and - "cpProtocolData" attributes shall both be - absent for the deletion of an existing external CP instance - addressed by cpInstanceId. - * At least one of these attributes shall be - present for a - to-be-created external CP instance or an existing external - CP instance. - * If the "linkPortId" attribute is absent, - the VNFM shall create a - link port. - * If the "cpProtocolData" attribute is - absent, the "linkPortId" - attribute shall be provided referencing a pre-created link port, - and the VNFM can use means outside the scope of the present - document to obtain the pre-configured address information for the - connection point from the resource representing the link port. - * If both "cpProtocolData" and "linkportId" - are provided, the API - consumer shall ensure that the cpProtocolData can be used with the - pre-created link port referenced by "linkPortId". - type: array - items: - description: > - This type represents network protocol - data. - type: object - required: - - layerProtocol - properties: - layerProtocol: - description: > - Identifier of layer(s) and protocol(s). - This attribute allows to signal the - addition of further types of layer and - protocol in future versions of the - present document in a - backwards-compatible way. In the current - version of the present document, only IP - over Ethernet is supported. - type: string - enum: - - IP_OVER_ETHERNET - ipOverEthernet: - description: > - This type represents network address - data for IP over Ethernet. - type: object - properties: - macAddress: - description: > - A MAC address. Representation: string - that consists of groups of two - hexadecimal digits, separated by hyphens - or colons. - type: string - format: MAC - ipAddresses: - description: > - List of IP addresses to assign to the CP - instance. Each entry represents IP - address data for fixed or dynamic IP - address assignment per subnet. If this - attribute is not present, no IP address - shall be assigned. - type: array - items: - type: object - required: - - type - properties: - type: - description: > - The type of the IP addresses. Permitted - values: IPV4, IPV6. - type: string - enum: - - IPV4 - - IPV6 - fixedAddresses: - description: > - Fixed addresses to assign (from the - subnet defined by "subnetId" if - provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: array - items: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - numDynamicAddresses: - description: > - Number of dynamic addresses to assign - (from the subnet defined by "subnetId" - if provided). Exactly one of - "fixedAddresses", "numDynamicAddresses" - or "ipAddressRange" shall be present. - type: integer - addressRange: - description: > - An IP address range to be used, e.g. in - case of egress connections. In case this - attribute is present, IP addresses from - the range will be used. - type: object - required: - - minAddress - - maxAddress - properties: - minAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - maxAddress: - description: > - An IPV4 or IPV6 address. Representation: - In case of an IPV4 address, string that - consists of four decimal integers - separated by dots, each integer ranging - from 0 to 255. In case of an IPV6 - address, string that consists of groups - of zero to four hexadecimal digits, - separated by colons. - type: string - format: IP - subnetId: - description: > - An identifier maintained by the VIM or - other resource provider. It is expected - to be unique within the VIM instance. - type: string - extLinkPorts: - description: > - Externally provided link ports to be used to connect - external connection points to this external VL. If this - attribute is not present, the VNFM shall create the link - ports on the external VL. - type: array - items: - description: > - This type represents an externally provided link port - to be used to connect an external connection point to - an external VL. - type: object - required: - - id - - resourceHandle - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceHandle: - required: - - vimConnectionId - - resourceId - type: object - description: > - This type represents the information that allows - addressing a virtualised resource that is used by - a VNF instance. Information about the resource is - available from the VIM. - properties: - vimConnectionId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being - globally unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other - resource provider. It is expected to be unique - within the VIM instance. - type: string - vimLevelResourceType: - description: > - Type of the resource in the scope of the VIM - or the resource provider. - type: string - extManagedVirtualLinks: - description: > - Information about internal VLs that are managed by other - entities than the VNFM. 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. External and/or externally-managed - internal VLs can be passed in VNF lifecycle management - operation requests such as InstantiateVnf or ChangeVnfFlavor, - and/or in the grant response. The NFVO may choose to override - in the grant response external and/or externally-managed VL - instances that have been passed previously in the associated - VNF lifecycle management request, if the lifecycle management - request has originated from the NFVO itself. - type: array - items: - type: object - required: - - id - - virtualLinkDescId - - resourceId - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - virtualLinkDescId: - description: | - An identifier that is unique within a VNF descriptor. - type: string - vimConnectionId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderId: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceId: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - additionalParams: - description: > - This type represents a list of key-value pairs. The order of - the pairs in the list is not significant. In JSON, a set of - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - vnfLcmOpOcc - - vnfInstance - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfLcmOpOcc: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfInstance: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '202': - description: > - Accepted - - The process of creating the grant is ongoing, no grant is available - yet. The response body shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - The grant was rejected. A ProblemDetails structure shall be included - in the response to provide more details about the rejection in the - "details" attribute. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '422': - description: > - Unprocessable Entity - - If the payload body of a request contains syntactically correct data - (e.g. well-formed JSON) but the data cannot be processed (e.g. - because it fails validation against a schema), the API producer - shall respond with this response code. The "ProblemDetails" - structure shall be provided, and should include in the "detail" - attribute more information about the source of the problem. NOTE 2: - This error response code is only applicable for methods that have a - request body. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt b/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt index cc67ab3bd1dcceef72023cfb4b3db8684b67fe03..cfb4467269e5d363d2cbd00279419d2c84d27c0b 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt +++ b/SOL003/VNFLifecycleOperationGranting-API/environment/variables.txt @@ -17,7 +17,7 @@ ${SYNC_MODE} 1 - +${response} diff --git a/SOL003/VNFLifecycleOperationGranting-API/schemas/ApiVersionInformation.schema.json b/SOL003/VNFLifecycleOperationGranting-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VNFLifecycleOperationGranting-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/ApiVersion.robot b/SOL003/VNFPackageManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..85c0567dc001be5e07d4a13b8f9fa8680a255222 --- /dev/null +++ b/SOL003/VNFPackageManagement-API/ApiVersion.robot @@ -0,0 +1,215 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.3.9.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.3.9.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.3.9.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.3.9.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.3.9.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.3.9.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.3.9.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.3.9.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.3.9.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.3.9.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/IndividualSubscription.robot b/SOL003/VNFPackageManagement-API/IndividualSubscription.robot index 71ce5723af17209479d63adf149898c35c916b68..2d97f97c96db8aa401c230d9a26f2a281708fcf0 100644 --- a/SOL003/VNFPackageManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFPackageManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ GET Individual VNF Package Subscription ... Test title: GET Individual VNF Package Subscription ... Test objective: The objective is to test the retrieval of individual VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Package Subscription with invalid resource identifier ... Test title: GET Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual VNF Package Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST Individual VNF Package Subscription - Method not implemented ... Test title: POST Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Package Subscription ... Pre-conditions: none - ... Reference: clause 10.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Subscription is not created on the NFVO @@ -64,7 +64,7 @@ PUT Individual VNF Package Subscription - Method not implemented ... Test title: PUT Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package subscription is not modified by the operation @@ -77,7 +77,7 @@ PATCH Individual VNF Package Subscription - Method not implemented ... Test title: PATCH Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package subscription is not modified by the operation @@ -90,7 +90,7 @@ DELETE Individual VNF Package Subscription ... Test title: DELETE Individual VNF Package Subscription ... Test objective: The objective is to test the deletion of an individual VNF package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Subscription is not available anymore in the NFVO diff --git a/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot index 8a278701fd2c11eda3e8f7ce5dbec4c8e3e44cc8..2c2f1e3c86e01bfb7334c66e60bacef93a5af5f0 100644 --- a/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot +++ b/SOL003/VNFPackageManagement-API/IndividualVNFPackage.robot @@ -12,7 +12,7 @@ GET Individual VNF Package ... Test title: GET Individual VNF Package ... Test objective: The objective is to test the retrieval of an individual VNF package information perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual VNF Package with invalid resource identifier ... Test title: GET Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Individual VNF Package - Method not implemented ... Test title: POST Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package ... Pre-conditions: none - ... Reference: clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Package - Method not implemented ... Test title: PUT Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Package - Method not implemented ... Test title: PATCH Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,10 +74,85 @@ DELETE Individual VNF Package - Method not implemented ... Test title: DELETE Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation Send DELETE Request for individual VNF Package Check HTTP Response Status Code Is 405 + Check Postcondition VNF Package Exist + +GET Individual OnBoarded VNF Package + [Documentation] Test ID: 7.3.3.2.7 + ... Test title: GET Individual OnBoarded VNF Package + ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package information perform a JSON schema validation of the collected data structure + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual OnBoarded VNF Package + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgInfo + Check HTTP Response Body vnfPkgInfo Identifier matches the requested VNF Package + +GET Individual OnBoarded VNF Package with invalid resource identifier + [Documentation] Test ID: 7.3.3.2.8 + ... Test title: GET Individual OnBoarded VNF Package with invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package fails when using an invalid resource identifier + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual OnBoarded VNF Package with invalid resource identifier + Check HTTP Response Status Code Is 404 + +POST Individual OnBoarded VNF Package - Method not implemented + [Documentation] Test ID: 7.3.3.2.9 + ... Test title: POST Individual OnBoarded VNF Package - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create new OnBoarded VNF Package + ... Pre-conditions: none + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send POST Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +PUT Individual OnBoarded VNF Package - Method not implemented + [Documentation] Test ID: 7.3.3.2.10 + ... Test title: PUT Individual OnBoarded VNF Package - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PUT Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +PATCH Individual OnBoarded VNF Package - Method not implemented + [Documentation] Test ID: 7.3.3.2.11 + ... Test title: PATCH Individual OnBoarded VNF Package - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PATCH Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +DELETE Individual OnBoarded VNF Package - Method not implemented + [Documentation] Test ID: 7.3.3.2.12 + ... Test title: DELETE Individual OnBoarded VNF Package - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The VNF Package is not deleted by the failed operation + Send DELETE Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 Check Postcondition VNF Package Exist \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/PackageManagementNotification.robot b/SOL003/VNFPackageManagement-API/PackageManagementNotification.robot index 8c76044ebcc9c59614171db31272bbe118a4fde6..b775527f802a8296ecc4239923d404840a26ef7f 100644 --- a/SOL003/VNFPackageManagement-API/PackageManagementNotification.robot +++ b/SOL003/VNFPackageManagement-API/PackageManagementNotification.robot @@ -16,7 +16,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test the dispatch of VNF Package Onboarding notification when the VNF package onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ VNF Package Operational State Change Notification ... Test title: VNF Package Operational State Change Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package operational state is modified, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ VNF Package Deletion Notification ... Test title: VNF Package Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package is deleted on the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPackageManagement-API/Subscriptions.robot b/SOL003/VNFPackageManagement-API/Subscriptions.robot index 3b7f047fb27abc710144285f74ac73140f098e5e..bc60615dc6e7b53e59cfe0c706218ad79734e3b0 100644 --- a/SOL003/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL003/VNFPackageManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ Get All VNF Package Subscriptions ... Test title: GET all VNF Package Subscriptions ... Test objective: The objective is to test the retrieval of all VNF package subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,7 +31,7 @@ Get VNF Package Subscriptions with attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF package subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ Get VNF Package Subscriptions with invalid attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ GET VNF Package Subscription with invalid resource endpoint ... Test title: GET VNF Package Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF package subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ Create new VNF Package subscription ... Test title: Create new VNF Package subscription ... Test objective: The objective is to test the creation of a new VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF package subscription is successfully set and it matches the issued subscription @@ -88,7 +88,7 @@ Create duplicated VNF Package subscription with NFVO not creating duplicated sub ... Test title: Create duplicated VNF Package subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF package subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF package subscription returned is available in the NFVO @@ -104,7 +104,7 @@ Create duplicated VNF Package subscription with NFVO creating duplicated subscri ... Test title: Create duplicated VNF Package subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF package subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF package subscription is successfully set and it matches the issued subscription @@ -119,7 +119,7 @@ PUT VNF Package Subscriptions - Method not implemented ... Test title: PUT VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ PATCH VNF Package Subscriptions - Method not implemented ... Test title: PATCH VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -144,10 +144,36 @@ DELETE VNF Package Subscriptions - Method not implemented ... Test title: DELETE VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 10.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF package subscriptions are not deleted by the failed operation Send Delete Request for VNF Package Subscriptions Check HTTP Response Status Code Is 405 Check Postcondition VNF Package Subscriptions Exists + +Get All VNF Package Subscriptions as Paged Response + [Documentation] Test ID: 7.3.3.6.11 + ... Test title: GET all VNF Package Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all VNF package subscriptions as Paged Response. + ... Pre-conditions: At least one VNF package subscription is available in the NFVO. + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all VNF Package Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get VNF Package Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 7.3.3.6.12 + ... Test title: Get VNF Package Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one VNF package subscription is available in the NFVO. + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all VNF Package Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot b/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot index 9b217b616cd4cd486116379b6d995917c7021bea..c8f945db6284b4dce7cefab71e2b2333d106ef6b 100644 --- a/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot +++ b/SOL003/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot @@ -12,7 +12,7 @@ Get single file VNFD in Individual VNF Package in Plain Format ... Test title: Get single file VNFD in Individual VNF Package in Plain Format ... Test objective: The objective is to test the retrieval of the VNFD in plain format for an individual VNF package and perform a validation that returned content is in plain format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNFD in Individual VNF Package in Zip Format ... Test title: Get VNFD in Individual VNF Package in Zip Format ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get single file VNFD in Individual VNF Package in Plain or Zip Format ... Test title: Get single file VNFD in Individual VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -51,7 +51,7 @@ Get multi file VNFD in Individual VNF Package in Plain or Zip Format ... Test title: Get multi file VNFD in Individual VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -64,7 +64,7 @@ Get multi file VNFD in Individual VNF Package in Plain Format ... Test title: Get multi file VNFD in Individual VNF Package in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file VNFD for an individual VNF package fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -77,7 +77,7 @@ Get VNFD in Individual VNF Package with invalid resource identifier ... Test title: Get VNFD in Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF package content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ Get VNFD in Individual VNF Package Content with conflict due to onboarding state ... Test title: Get VNFD in Individual VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ POST VNFD in Individual VNF Package Content - Method not implemented ... Test title: POST VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNFD ... Pre-conditions: none - ... Reference: clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ PUT VNFD in Individual VNF Package Content - Method not implemented ... Test title: PUT VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -126,7 +126,7 @@ PATCH VNFD in Individual VNF Package Content - Method not implemented ... Test title: PATCH VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -138,7 +138,7 @@ DELETE VNFD in Individual VNF Package Content - Method not implemented ... Test title: DELETE VNFD in Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNFD is not deleted by the failed operation @@ -146,4 +146,141 @@ DELETE VNFD in Individual VNF Package Content - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition VNFD Exist +Get single file VNFD in Individual OnBoarded VNF Package in Plain Format + [Documentation] Test ID: 7.3.3.4.12 + ... Test title: Get single file VNFD in Individual OnBoarded VNF Package in Plain Format + ... Test objective: The objective is to test the retrieval of the VNFD in plain format for an individual OnBoarded VNF package and perform a validation that returned content is in plain format + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFD is implemented as a single file + ... Post-Conditions: none + Get single file VNFD in Individual OnBoarded VNF Package in Plain Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is text/plain + +Get VNFD in Individual OnBoarded VNF Package in Zip Format + [Documentation] Test ID: 7.3.3.4.13 + ... Test title: Get VNFD in Individual OnBoarded VNF Package in Zip Format + ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual OnBoarded VNF package and perform a validation that returned content is in zip format + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get VNFD in Individual OnBoarded VNF Package in Zip Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip + +Get single file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + [Documentation] Test ID: 7.3.3.4.14 + ... Test title: Get single file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + ... Test objective: The objective is to test the retrieval of the single file VNFD for an individual OnBoarded VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFD is implemented as a single file + ... Post-Conditions: none + Get single file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is Any of text/plain application/zip + +Get multi file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + [Documentation] Test ID: 7.3.3.4.15 + ... Test title: Get multi file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual OnBoarded VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFD is implemented as a multi file + ... Post-Conditions: none + Get multi file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip +Get multi file VNFD in Individual OnBoarded VNF Package in Plain Format + [Documentation] Test ID: 7.3.3.4.16 + ... Test title: Get multi file VNFD in Individual OnBoarded VNF Package in Plain Format + ... Test objective: The objective is to test that the retrieval of the multi file VNFD for an individual OnBoarded VNF package fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFD is implemented as a multi file + ... Post-Conditions: none + Get multi file VNFD in Individual OnBoarded VNF Package in Plain Format + Check HTTP Response Status Code Is 406 + Check HTTP Response Body Json Schema Is ProblemDetails + +Get VNFD in Individual OnBoarded VNF Package with invalid resource identifier + [Documentation] Test ID: 7.3.3.4.17 + ... Test title: Get VNFD in Individual OnBoarded VNF Package with invalid resource identifier + ... Test objective: The objective is to test that the retrieval of the VNFD for an individual OnBoarded VNF package content fails when using an invalid resource identifier + ... Pre-conditions: none + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get VNFD in Individual OnBoarded VNF Package with invalid resource identifier + Check HTTP Response Status Code Is 404 + +Get VNFD in Individual OnBoarded VNF Package Content with conflict due to onboarding state + [Documentation] Test ID: 7.3.3.4.18 + ... Test title: Get VNFD in Individual OnBoarded VNF Package Content with conflict due to onboarding state + ... Test objective: The objective is to test that the retrieval of the VNFD for an individual OnBoarded VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get VNFD in Individual OnBoarded VNF Package Content with conflict due to onboarding state + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST VNFD in Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.4.19 + ... Test title: POST VNFD in Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create new VNFD + ... Pre-conditions: none + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send POST Request for VNFD in individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +PUT VNFD in Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.4.20 + ... Test title: PUT VNFD in Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PUT Request for VNFD in individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +PATCH VNFD in Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.4.21 + ... Test title: PATCH VNFD in Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PATCH Request for VNFD in individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +DELETE VNFD in Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.4.22 + ... Test title: DELETE VNFD in Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The VNFD is not deleted by the failed operation + Send DELETE Request for VNFD in individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + Check Postcondition VNFD Exist diff --git a/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot b/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot index e3e9d58001455668d58fab4a0fe04b968689e697..d4b7ce9989145867fcac47b958cf91d8c73765fb 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageArtifacts.robot @@ -12,20 +12,19 @@ GET Individual VNF Package Artifact ... Test title: GET Individual VNF Package Artifact ... Test objective: The objective is to test the retrieval of an individual VNF package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none GET Individual VNF Package Artifact Check HTTP Response Status Code Is 200 - GET Individual VNF Package Artifact in octet stream format [Documentation] Test ID: 7.3.3.5.2 ... Test title: GET Individual VNF Package Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -38,7 +37,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -52,7 +51,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -64,7 +63,7 @@ GET Individual VNF Package Artifact with invalid Range Request ... Test title: GET Individual VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -76,7 +75,7 @@ GET Individual VNF Package Artifact with invalid resource identifier ... Test title: GET Individual VNF Package Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +87,7 @@ GET Individual VNF Package Artifact with conflict due to onboarding state ... Test title: GET Individual VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -101,7 +100,7 @@ POST Individual VNF Package Artifact - Method not implemented ... Test title: POST Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -113,7 +112,7 @@ PUT Individual VNF Package Artifact - Method not implemented ... Test title: PUT Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -125,7 +124,7 @@ PATCH Individual VNF Package Artifact - Method not implemented ... Test title: PATCH Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -137,7 +136,7 @@ DELETE Individual VNF Package Artifact - Method not implemented ... Test title: DELETE Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package artifact is not deleted by the failed operation @@ -145,3 +144,140 @@ DELETE Individual VNF Package Artifact - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition VNF Package Artifact Exist +GET Individual OnBoarded VNF Package Artifact + [Documentation] Test ID: 7.3.3.5.12 + ... Test title: GET Individual OnBoarded VNF Package Artifact + ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Artifact + Check HTTP Response Status Code Is 200 + +GET Individual OnBoarded VNF Package Artifact in octet stream format + [Documentation] Test ID: 7.3.3.5.13 + ... Test title: GET Individual OnBoarded VNF Package Artifact in octet stream format + ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO cannot determine the content type of the artifact + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Artifact in octet stream format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/octet-stream + +GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO supporting Range Requests + [Documentation] Test ID: 7.3.3.5.14 + ... Test title: GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO supporting Range Requests + ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Artifact with Range Request + Check HTTP Response Status Code Is 206 + Check HTTP Response Header Content-Range Is Present and Matches the requested range + Check HTTP Response Header Content-Length Is Present and Matches the requested range length + +GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO not supporting Range Requests + [Documentation] Test ID: 7.3.3.5.15 + ... Test title: GET Individual OnBoarded VNF Package Artifact with Range Request and NFVO not supporting Range Requests + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Artifact with Range Request + Check HTTP Response Status Code Is 200 + +GET Individual OnBoarded VNF Package Artifact with invalid Range Request + [Documentation] Test ID: 7.3.3.5.16 + ... Test title: GET Individual OnBoarded VNF Package Artifact with invalid Range Request + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails when using a range request that does not match any available byte range in the file. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Artifact with invalid Range Request + Check HTTP Response Status Code Is 416 + +GET Individual OnBoarded VNF Package Artifact with invalid resource identifier + [Documentation] Test ID: 7.3.3.5.17 + ... Test title: GET Individual OnBoarded VNF Package Artifact with invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails when using an invalid resource identifier + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Artifact with invalid resource identifier + Check HTTP Response Status Code Is 404 + +GET Individual OnBoarded VNF Package Artifact with conflict due to onboarding state + [Documentation] Test ID: 7.3.3.5.18 + ... Test title: GET Individual OnBoarded VNF Package Artifact with conflict due to onboarding state + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Artifact for OnBoarded VNF Package in onboarding state different from ONBOARDED + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Individual OnBoarded VNF Package Artifact - Method not implemented + [Documentation] Test ID: 7.3.3.5.19 + ... Test title: POST Individual OnBoarded VNF Package Artifact - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact + ... Pre-conditions: none + ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send POST Request for individual OnBoarded VNF Package Artifact + Check HTTP Response Status Code Is 405 + +PUT Individual OnBoarded VNF Package Artifact - Method not implemented + [Documentation] Test ID: 7.3.3.5.20 + ... Test title: PUT Individual OnBoarded VNF Package Artifact - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PUT Request for individual OnBoarded VNF Package Artifact + Check HTTP Response Status Code Is 405 + +PATCH Individual OnBoarded VNF Package Artifact - Method not implemented + [Documentation] Test ID: 7.3.3.5.21 + ... Test title: PATCH Individual OnBoarded VNF Package Artifact - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PATCH Request for individual OnBoarded VNF Package Artifact + Check HTTP Response Status Code Is 405 + +DELETE Individual OnBoarded VNF Package Artifact - Method not implemented + [Documentation] Test ID: 7.3.3.5.22 + ... Test title: DELETE Individual OnBoarded VNF Package Artifact - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The VNF Package artifact is not deleted by the failed operation + Send DELETE Request for individual OnBoarded VNF Package Artifact + Check HTTP Response Status Code Is 405 + Check Postcondition OnBoarded VNF Package Artifact Exist + diff --git a/SOL003/VNFPackageManagement-API/VNFPackageContent.robot b/SOL003/VNFPackageManagement-API/VNFPackageContent.robot index c04be0c794174fb77a32eb61eaad25cd778a67e6..856c54c2ef12a7b07ff4cfadac37fbe113c252c1 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageContent.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageContent.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Content ... Test title: GET Individual VNF Package Content ... Test objective: The objective is to test the retrieval of an individual VNF package content and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual VNF Package Content with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Individual VNF Package Content with Range Request and NFVO not supporting Ra ... Test title: GET Individual VNF Package Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Individual VNF Package Content with invalid Range Request ... Test title: GET Individual VNF Package Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -65,7 +65,7 @@ GET Individual VNF Package Content with invalid resource identifier ... Test title: GET Individual VNF Package Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET Individual VNF Package Content with conflict due to onboarding state ... Test title: GET Individual VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ POST Individual VNF Package Content - Method not implemented ... Test title: POST Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package content ... Pre-conditions: none - ... Reference: clause 10.4.3.5.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.5.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ PUT Individual VNF Package Content - Method not implemented ... Test title: PUT Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.5.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.5.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ PATCH Individual VNF Package Content - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.5.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.5.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -126,10 +126,137 @@ DELETE Individual VNF Package Content - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.3.5.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.3.5.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is not deleted by the failed operation Send DELETE Request for individual VNF Package Check HTTP Response Status Code Is 405 - Check Postcondition VNF Package Content Exist \ No newline at end of file + Check Postcondition VNF Package Content Exist + +GET Individual OnBoarded VNF Package Content + [Documentation] Test ID: 7.3.3.3.11 + ... Test title: GET Individual OnBoarded VNF Package Content + ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package content and perform a validation that returned content is in zip format + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Content + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip + +GET Individual OnBoarded VNF Package Content with Range Request and NFVO supporting Range Requests + [Documentation] Test ID: 7.3.3.3.12 + ... Test title: GET Individual OnBoarded VNF Package Content with Range Request and NFVO supporting Range Requests + ... Test objective: The objective is to test the retrieval of an individual OnBoarded VNF package content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Content with Range Request + Check HTTP Response Status Code Is 206 + Check HTTP Response Header Content-Type Is application/zip + Check HTTP Response Header Content-Range Is Present and Matches the requested range + Check HTTP Response Header Content-Length Is Present and Matches the requested range length + +GET Individual OnBoarded VNF Package Content with Range Request and NFVO not supporting Range Requests + [Documentation] Test ID: 7.3.3.3.13 + ... Test title: GET Individual OnBoarded VNF Package Content with Range Request and NFVO not supporting Range Requests + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package file. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package file + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Content with Range Request + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip + +GET Individual OnBoarded VNF Package Content with invalid Range Request + [Documentation] Test ID: 7.3.3.3.14 + ... Test title: GET Individual OnBoarded VNF Package Content with invalid Range Request + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package content fails when using a range request that does not match any available byte range in the file. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Content with invalid Range Request + Check HTTP Response Status Code Is 416 + +GET Individual OnBoarded VNF Package Content with invalid resource identifier + [Documentation] Test ID: 7.3.3.3.15 + ... Test title: GET Individual OnBoarded VNF Package Content with invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual OnBoarded VNF package content fails when using an invalid resource identifier + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual OnBoarded VNF Package Content with invalid resource identifier + Check HTTP Response Status Code Is 404 + +GET Individual OnBoarded VNF Package Content with conflict due to onboarding state + [Documentation] Test ID: 7.3.3.3.16 + ... Test title: GET Individual OnBoarded VNF Package Content with conflict due to onboarding state + ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Content for OnBoarded VNF Package in onboarding state different from ONBOARDED + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.3.17 + ... Test title: POST Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package content + ... Pre-conditions: none + ... Reference: Clause 10.4.3.5.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send POST Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +PUT Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.3.18 + ... Test title: PUT Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package content + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.5.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PUT Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +PATCH Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.3.19 + ... Test title: PATCH Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.5.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PATCH Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + +DELETE Individual OnBoarded VNF Package Content - Method not implemented + [Documentation] Test ID: 7.3.3.3.20 + ... Test title: DELETE Individual OnBoarded VNF Package Content - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.3.5.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The VNF Package content is not deleted by the failed operation + Send DELETE Request for individual OnBoarded VNF Package + Check HTTP Response Status Code Is 405 + GET Individual OnBoarded VNF Package Content \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagement.yaml b/SOL003/VNFPackageManagement-API/VNFPackageManagement.yaml deleted file mode 100644 index 3c44c93fc35c7dfd9557a613a59b34608411299f..0000000000000000000000000000000000000000 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagement.yaml +++ /dev/null @@ -1,8387 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL003 - VNF Package Management interface - description: > - SOL003 - VNF Package Management interface - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering - mechanism is defined. This mechanism is currently not included in the - corresponding OpenAPI design for this GS version. Changes to the - attribute-based filtering mechanism are being considered in v2.5.1 of this - GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf -basePath: /vnfpkgm/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -paths: - /vnf_packages: - get: - description: > - Query VNF Package Info - - - The GET method queries the information of the VNF packages matching the - filter. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: | - OK - Information of the selected VNF packages. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: | - This type represents the information of an VNF package. - type: object - required: - - id - - operationalState - - usageState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF package and the VNFD. This information - is copied from the VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF product. Invariant for the VNF - product lifetime. This information is copied from the VNFD. - It shall be present after the VNF package content has been - on-boarded and absent otherwise. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - checksum: - description: > - This type represents the checksum of a VNF package or an - artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, as - defined in ETSI GS NFV-SOL 004. For example, SHA-256, - SHA-512. - type: string - hash: - description: | - The hexadecimal value of the checksum. - type: string - softwareImages: - description: > - Information about VNF package artifacts that are software - images. This attribute shall not be present before the VNF - package content is on-boarded. Otherwise, this attribute - shall be present unless it has been requested to be excluded - per attribute selector. - type: array - items: - description: > - This type represents an artifact contained in a VNF - package which represents a software image. - type: object - required: - - id - - name - - provider - - version - - checksum - - containerFormat - - diskFormat - - createdAt - - minDisk - - minRam - - size - - imagePath - properties: - id: - description: | - An identifier that is unique within a VNF descriptor. - type: string - name: - description: | - Name of the software image. - type: string - provider: - description: | - Provider of the software image. - type: string - version: - description: | - A Version. - type: string - checksum: - description: > - This type represents the checksum of a VNF package or - an artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the - checksum, as defined in ETSI GS NFV-SOL 004. For - example, SHA-256, SHA-512. - type: string - hash: - description: | - The hexadecimal value of the checksum. - type: string - containerFormat: - description: > - Container format indicates whether the software image - is in a file format that also contains metadata about - the actual software. Permitted values: - AKI: a kernel - image format - AMI: a machine image format - ARI: a - ramdisk image format - BARE: the image does not have a - container or metadata envelope - DOCKER: docker - container format - OVA: OVF package in a tarfile - - OVF: OVF container format The list of permitted values - was taken from "Container formats" in - http://docs.openstack.org/image-guide/image-formats.html - type: string - enum: - - AKI - - AMI - - ARI - - BARE - - DOCKER - - OVA - - OVF - diskFormat: - description: > - Disk format of a software image is the format of the - underlying disk image. Permitted values: - AKI: a - kernel image format - AMI: a machine image format - - ARI: a ramdisk image format - ISO: an archive format - for the data contents of an optical disc, - such as CD-ROM - - QCOW2: a common disk image format, which can expand - dynamically - and supports copy on write - - RAW: an unstructured disk image format - VDI: a - common disk image format - VHD: a common disk image - format - VHDX: enhanced version of VHD format - VMDK: - a common disk image format The list of permitted - values was adapted from "Disk formats" in - http://docs.openstack.org/image-guide/image-formats.html - type: string - enum: - - AKI - - AMI - - ISO - - QCOW2 - - RAW - - VDI - - VHD - - VHDX - - VMDK - createdAt: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - minDisk: - description: | - The minimal disk for this software image in bytes. - type: integer - minRam: - description: | - The minimal RAM for this software image in bytes. - type: integer - size: - description: | - Size of this software image in bytes. - type: integer - userMetadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined - in clause 4 of IETF RFC 7159. - type: object - imagePath: - description: > - Path in the VNF package, which identifies the image - artifact and also allows to access a copy of the image - artifact. - type: string - additionalArtifacts: - description: > - Information about VNF package artifacts contained in the VNF - package that are not software images. This attribute shall - not be present before the VNF package content is on-boarded. - Otherwise, this attribute shall be present if the VNF - package contains additional artifacts. - type: array - items: - description: > - This type represents an artifact other than a software - image which is contained in a VNF package. - type: object - required: - - artifactPath - - checksum - properties: - artifactPath: - description: > - Path in the VNF package, which identifies the artifact - and also allows to access a copy of the artifact. - type: string - checksum: - description: > - This type represents the checksum of a VNF package or - an artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the - checksum, as defined in ETSI GS NFV-SOL 004. For - example, SHA-256, SHA-512. - type: string - hash: - description: | - The hexadecimal value of the checksum. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined - in clause 4 of IETF RFC 7159. - type: object - onboardingState: - description: > - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being - uploaded. PROCESSING: The associated VNF package content is - being processed, e.g., - validation. - ONBOARDED: The associated VNF package content has been - successfully - on-boarded. - type: string - enum: - - CREATED - - UPLOADING - - PROCESSING - - ONBOARDED - operationalState: - description: > - - ENABLED: The VNF package is enabled, i.e. it can be used - for - instantiation of new VNF instances. - - DISABLED: The VNF package is disabled, i.e. it cannot be - used for - further VNF instantiation requests (unless and until the VNF package - is re-enabled). - type: string - enum: - - ENABLED - - DISABLED - usageState: - description: > - - IN_USE: VNF instances instantiated from this VNF package - exist. - NOT_IN_USE: No existing VNF instance is - instantiated from this VNF - package. - 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 - key- value pairs is represented as an object. It shall - comply with the provisions defined in clause 4 of IETF RFC - 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - packageContent - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfd: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - packageContent: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - It fhe request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_packages/{vnfPkgId}': - parameters: - - name: vnfPkgId - description: > - Identifier of the VNF package. The identifier is allocated by the - NFVO. This identifier can be retrieved from the "vnfPkgId" attribute - in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true - get: - description: | - Query VNF Package Info - - The GET method reads the information of an individual VNF package. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: | - OK - Information of the selected VNF packages. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: | - This type represents the information of an VNF package. - type: object - required: - - id - - operationalState - - usageState - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - vnfdId: - description: | - An identifier with the intention of being globally unique. - type: string - vnfProvider: - description: > - Provider of the VNF package and the VNFD. This information is - copied from the VNFD. - type: string - vnfProductName: - description: > - Name to identify the VNF product. Invariant for the VNF - product lifetime. This information is copied from the VNFD. It - shall be present after the VNF package content has been - on-boarded and absent otherwise. - type: string - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersion: - description: | - A Version. - type: string - checksum: - description: > - This type represents the checksum of a VNF package or an - artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, as - defined in ETSI GS NFV-SOL 004. For example, SHA-256, - SHA-512. - type: string - hash: - description: | - The hexadecimal value of the checksum. - type: string - softwareImages: - description: > - Information about VNF package artifacts that are software - images. This attribute shall not be present before the VNF - package content is on-boarded. Otherwise, this attribute shall - be present unless it has been requested to be excluded per - attribute selector. - type: array - items: - description: > - This type represents an artifact contained in a VNF package - which represents a software image. - type: object - required: - - id - - name - - provider - - version - - checksum - - containerFormat - - diskFormat - - createdAt - - minDisk - - minRam - - size - - imagePath - properties: - id: - description: | - An identifier that is unique within a VNF descriptor. - type: string - name: - description: | - Name of the software image. - type: string - provider: - description: | - Provider of the software image. - type: string - version: - description: | - A Version. - type: string - checksum: - description: > - This type represents the checksum of a VNF package or an - artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, - as defined in ETSI GS NFV-SOL 004. For example, - SHA-256, SHA-512. - type: string - hash: - description: | - The hexadecimal value of the checksum. - type: string - containerFormat: - description: > - Container format indicates whether the software image is - in a file format that also contains metadata about the - actual software. Permitted values: - AKI: a kernel image - format - AMI: a machine image format - ARI: a ramdisk - image format - BARE: the image does not have a container - or metadata envelope - DOCKER: docker container format - - OVA: OVF package in a tarfile - OVF: OVF container - format The list of permitted values was taken from - "Container formats" in - http://docs.openstack.org/image-guide/image-formats.html - type: string - enum: - - AKI - - AMI - - ARI - - BARE - - DOCKER - - OVA - - OVF - diskFormat: - description: > - Disk format of a software image is the format of the - underlying disk image. Permitted values: - AKI: a kernel - image format - AMI: a machine image format - ARI: a - ramdisk image format - ISO: an archive format for the - data contents of an optical disc, - such as CD-ROM - - QCOW2: a common disk image format, which can expand - dynamically - and supports copy on write - - RAW: an unstructured disk image format - VDI: a common - disk image format - VHD: a common disk image format - - VHDX: enhanced version of VHD format - VMDK: a common - disk image format The list of permitted values was - adapted from "Disk formats" in - http://docs.openstack.org/image-guide/image-formats.html - type: string - enum: - - AKI - - AMI - - ISO - - QCOW2 - - RAW - - VDI - - VHD - - VHDX - - VMDK - createdAt: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - minDisk: - description: | - The minimal disk for this software image in bytes. - type: integer - minRam: - description: | - The minimal RAM for this software image in bytes. - type: integer - size: - description: | - Size of this software image in bytes. - type: integer - userMetadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - imagePath: - description: > - Path in the VNF package, which identifies the image - artifact and also allows to access a copy of the image - artifact. - type: string - additionalArtifacts: - description: > - Information about VNF package artifacts contained in the VNF - package that are not software images. This attribute shall not - be present before the VNF package content is on-boarded. - Otherwise, this attribute shall be present if the VNF package - contains additional artifacts. - type: array - items: - description: > - This type represents an artifact other than a software image - which is contained in a VNF package. - type: object - required: - - artifactPath - - checksum - properties: - artifactPath: - description: > - Path in the VNF package, which identifies the artifact - and also allows to access a copy of the artifact. - type: string - checksum: - description: > - This type represents the checksum of a VNF package or an - artifact file. - type: object - required: - - algorithm - - hash - properties: - algorithm: - description: > - Name of the algorithm used to generate the checksum, - as defined in ETSI GS NFV-SOL 004. For example, - SHA-256, SHA-512. - type: string - hash: - description: | - The hexadecimal value of the checksum. - type: string - metadata: - description: > - This type represents a list of key-value pairs. The - order of the pairs in the list is not significant. In - JSON, a set of key- value pairs is represented as an - object. It shall comply with the provisions defined in - clause 4 of IETF RFC 7159. - type: object - onboardingState: - description: > - CREATED: The VNF package resource has been created. UPLOADING: - The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being - processed, e.g., - validation. - ONBOARDED: The associated VNF package content has been - successfully - on-boarded. - type: string - enum: - - CREATED - - UPLOADING - - PROCESSING - - ONBOARDED - operationalState: - description: > - - ENABLED: The VNF package is enabled, i.e. it can be used for - instantiation of new VNF instances. - - DISABLED: The VNF package is disabled, i.e. it cannot be - used for - further VNF instantiation requests (unless and until the VNF package - is re-enabled). - type: string - enum: - - ENABLED - - DISABLED - usageState: - description: > - - IN_USE: VNF instances instantiated from this VNF package - exist. - NOT_IN_USE: No existing VNF instance is instantiated - from this VNF - package. - 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 - key- value pairs is represented as an object. It shall comply - with the provisions defined in clause 4 of IETF RFC 7159. - type: object - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - - packageContent - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - vnfd: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - packageContent: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_packages/{vnfPkgId}/vnfd': - parameters: - - name: vnfPkgId - description: > - Identifier of the on-boarded VNF package. The identifier is allocated - by the NFVO. This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true - get: - description: > - Query VNF Package Info - - - The GET method reads the content of the VNFD within a VNF package. The - VNFD can be implemented as a single file or as a collection of multiple - files. If the VNFD is implemented in the form of multiple files, a ZIP - file embedding these files shall be returned. If the VNFD is implemented - as a single file, either that file or a ZIP file embedding that file - shall be returned. The selection of the format is controlled by the - "Accept" HTTP header passed in the GET request. * If the "Accept" header - contains only "text/plain" and the VNFD is - implemented as a single file, the file shall be returned; - otherwise, an error message shall be returned. - * If the "Accept" header contains only "application/zip", the single - file or the multiple files that make up the VNFD shall be returned - embedded in a ZIP file. - * If the "Accept" header contains both "text/plain" and - "application/zip", it is up to the NFVO to choose the format to - return for a single-file VNFD; for a multi-file VNFD, a ZIP file - shall be returned. - The default format of the ZIP file shall be the one specified in ETSI GS - NFV-SOL 004 where only the YAML files representing the VNFD, and - information needed to navigate the ZIP file and to identify the file - that is the entry point for parsing the VNFD (such as TOSCA-meta or - manifest files or naming conventions) are included. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Permitted - values: "text/plain" and/or "application/zip" Reference: IETF RFC - 7231 - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - text/plain+application/zip - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - On success, the content of the VNFD is returned. The payload body - shall contain a copy of the file representing the VNFD or a ZIP file - that contains the file or multiple files representing the VNFD, as - specified above. The "Content-Type" HTTP header shall be set - according to the format of the returned file, i.e. to "text/plain" - for a YAML file or to "application/zip" for a ZIP file. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - enum: - - text/plain - - application/zip - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" header does not contain at least one name of a - content type for which the NFVO can provide a representation of the - VNFD, the NFVO shall respond with this response code. The - "ProblemDetails" structure may be included with the "detail" - attribute providing more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Error: The operation cannot be executed currently, due to a conflict - with the state of the resource. Typically, this is due to the fact - that "onboardingState" of the VNF package has a value different from - "ONBOARDED". The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_packages/{vnfPkgId}/package_content': - parameters: - - name: vnfPkgId - description: > - Identifier of the on-boarded VNF package. The identifier is allocated - by the NFVO. This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true - get: - description: > - Fetch VNF Package - - - The GET method fetches the content of a VNF package identified by the - VNF package identifier allocated by the NFVO. - parameters: - - name: Accept - description: | - Content-Types that are acceptable for the response. - in: header - required: true - type: string - enum: - - text/plain - - application/zip - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single range - of bytes from the VNF package file. This can be used to continue an - aborted transmission. If the NFVO does not support range requests, - it should return the whole file with a 200 OK response instead. - in: header - type: string - responses: - '200': - description: > - OK - - On success, a copy of the VNF package file is returned. The response - body shall include a copy of the VNF package file. The "Content-Type - HTTP" header shall be set according to the type of the file, i.e. to - "application/zip" for a VNF Package as defined in ETSI GS NFV-SOL - 004. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '206': - description: > - Partial Content - - On success, if the NFVO supports range requests, a single - consecutive byte range from the content of the VNF package file is - returned. The response body shall contain the requested part of the - VNF package file. The "Content-Range" HTTP header shall be provided - according to IETF RFC 7233. The "Content-Type" HTTP header shall be - set as defined above for the "200 OK" response. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Error: The operation cannot be executed currently, due to a conflict - with the state of the resource. Typically, this is due to the fact - that "onboardingState" of the VNF package has a value different from - "ONBOARDED". The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - The byte range passed in the "Range" header did not match any - available byte range in the VNF package file (e.g. "access after end - of file"). The response body may contain a ProblemDetails structure. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}': - parameters: - - name: artifactPath - description: > - Path of the artifact within the VNF package. This identifier can be - retrieved from the "artifactPath" attribute of the applicable - "additionalArtifacts" entry in the body of the response to a GET - request querying the "Individual VNF package" or the "VNF packages" - resource. - in: path - type: string - required: true - - name: vnfPkgId - description: > - Identifier of the on-boarded VNF package. The identifier is allocated - by the NFVO. This identifier can be retrieved from the "vnfPkgId" - attribute in the VnfPackageOnboardingNotification or - VnfPackageChangeNotification. - in: path - type: string - required: true - get: - description: | - Fetch VNF Package Artifacts - - The GET method fetches the content of an artifact within a VNF package. - parameters: - - name: Accept - description: | - Content-Types that are acceptable for the response. - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Range - description: > - The request may contain a "Range" HTTP header to obtain single range - of bytes from the VNF package file. This can be used to continue an - aborted transmission. If the NFVO does not support range requests, - it should return the whole file with a 200 OK response instead. - in: header - type: string - responses: - '200': - description: > - OK - - On success, the content of the artifact is returned. The payload - body shall contain a copy of the artifact file from the VNF package, - as defined by ETSI GS NFV-SOL 004. The "Content-Type" HTTP header - shall be set according to the content type of the artifact file. If - the content type cannot be determined, the header shall be set to - the value "application/octet-stream". - headers: - Content-Type: - description: > - The MIME type of the body of the response. The "Content-Type" - HTTP header shall be set according to the content type of the - artifact file. If the content type cannot be determined, the - header shall be set to the value "application/octet-stream". - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '206': - description: > - Partial Content - - On success, if the NFVO supports range requests, a single - consecutive byte range from the content of the VNF package file is - returned. The response body shall contain the requested part of the - VNF package file. The "Content-Range" HTTP header shall be provided - according to IETF RFC 7233. The "Content-Type" HTTP header shall be - set as defined above for the "200 OK" response. - headers: - Content-Range: - type: string - maximum: 1 - minimum: 1 - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '409': - description: > - Conflict - - Error: The operation cannot be executed currently, due to a conflict - with the state of the resource. Typically, this is due to the fact - that "onboardingState" of the VNF package has a value different from - "ONBOARDED". The response body shall contain a ProblemDetails - structure, in which the "detail" attribute shall convey more - information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - The byte range passed in the "Range" header did not match any - available byte range in the VNF package file (e.g. "access after end - of file"). The response body may contain a ProblemDetails structure. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - /subscriptions: - post: - description: > - Subscribe - - - The POST method creates a new subscription. Creation of two subscription - resources with the same callbackURI and the same filter can result in - performance degradation and will provide duplicates of notifications to - the VNFM, and might make sense only in very rare use cases. - Consequently, the NFVO may either allow creating a subscription resource - if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the “201 Created†response - code), or may decide to not create a duplicate subscription resource (in - which case it shall return a “303 See Other†response code referencing - the existing subscription resource with the same filter and - callbackUri). - parameters: - - name: PkgmSubscriptionRequest - description: > - Representation of the created subscription resource. The HTTP - response shall include a "Location" HTTP header that points to the - created subscription resource. - in: body - required: true - schema: - description: > - This type represents a subscription request related to VNF package - management notifications about VNF package on-boarding or changes. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications related to VNF package management. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification - vnfProductsFromProviders: - description: > - If present, match VNF packages that contain VNF products - from certain providers. The attributes - "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" are - alternatives to reference to particular VNF packages in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF packages that contain VNF - products with certain product names, from one - particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF packages that contain - VNF products with certain versions and a - certain product name, from one particular - provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersions: - description: > - If present, match VNF packages that - contain VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A Version. - type: string - vnfdId: - description: > - Match VNF packages with a VNFD identifier listed in the - attribute. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfPkgId: - description: > - Match VNF packages with a package identifier listed in the - attribute. May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be absent - otherwise. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: > - - ENABLED: The VNF package is enabled, i.e. it can be used - for - instantiation of new VNF instances. - - DISABLED: The VNF package is disabled, i.e. it cannot be - used for - further VNF instantiation requests (unless and until the VNF package - is re-enabled). - type: string - enum: - - ENABLED - - DISABLED - usageState: - description: > - - IN_USE: VNF instances instantiated from this VNF package - exist. - NOT_IN_USE: No existing VNF instance is - instantiated from this VNF - package. - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: | - The MIME type of the body of the request. Reference: IETF RFC 7231 - in: header - required: true - type: string - responses: - '201': - description: > - Created - - Representation of the created subscription resource. The HTTP - response shall include a "Location" HTTP header that points to the - created subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF package management. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications related to VNF package management. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification - vnfProductsFromProviders: - description: > - If present, match VNF packages that contain VNF products - from certain providers. The attributes - "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" are - alternatives to reference to particular VNF packages in - a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF packages that contain VNF - products with certain product names, from one - particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF packages that contain - VNF products with certain versions and a - certain product name, from one particular - provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersions: - description: > - If present, match VNF packages that - contain VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A Version. - type: string - vnfdId: - description: > - Match VNF packages with a VNFD identifier listed in the - attribute. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfPkgId: - description: > - Match VNF packages with a package identifier listed in - the attribute. May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be absent - otherwise. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: > - - ENABLED: The VNF package is enabled, i.e. it can be - used for - instantiation of new VNF instances. - - DISABLED: The VNF package is disabled, i.e. it cannot - be used for - further VNF instantiation requests (unless and until the VNF package - is re-enabled). - type: string - enum: - - ENABLED - - DISABLED - usageState: - description: > - - IN_USE: VNF instances instantiated from this VNF - package exist. - NOT_IN_USE: No existing VNF instance is - instantiated from this VNF - package. - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '303': - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing subscription - resource. The response body shall be empty. - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - - The GET method queries the list of active subscriptions of the - functional block that invokes the method. It can be used e.g. for - resynchronization after error situations. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: > - OK - - Active subscriptions of the functional block that invokes the - method. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - type: array - items: - description: > - This type represents a subscription related to notifications - about VNF package management. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications related to VNF package management. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification - vnfProductsFromProviders: - description: > - If present, match VNF packages that contain VNF products - from certain providers. The attributes - "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" are - alternatives to reference to particular VNF packages in - a filter. They should not be used both in the same - filter instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF packages that contain VNF - products with certain product names, from one - particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF packages that contain - VNF products with certain versions and a - certain product name, from one particular - provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersions: - description: > - If present, match VNF packages that - contain VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A Version. - type: string - vnfdId: - description: > - Match VNF packages with a VNFD identifier listed in the - attribute. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfPkgId: - description: > - Match VNF packages with a package identifier listed in - the attribute. May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be absent - otherwise. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: > - - ENABLED: The VNF package is enabled, i.e. it can be - used for - instantiation of new VNF instances. - - DISABLED: The VNF package is disabled, i.e. it cannot - be used for - further VNF instantiation requests (unless and until the VNF package - is re-enabled). - type: string - enum: - - ENABLED - - DISABLED - usageState: - description: > - - IN_USE: VNF instances instantiated from this VNF - package exist. - NOT_IN_USE: No existing VNF instance is - instantiated from this VNF - package. - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - Invalid attribute-based filtering parameters or Invalid attribute - selector. It fhe request is malformed or syntactically incorrect - (e.g. if the request URI contains incorrect query parameters or a - syntactically incorrect payload body), the API producer shall - respond with this response code. The "ProblemDetails" structure - shall be provided, and should include in the "detail" attribute more - information about the source of the problem. If the request contains - a malformed access token, the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. If there is - an application error related to the client's input that cannot be - easily mapped to any other HTTP response code ("catch all error"), - the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: | - Query Subscription Information - - The GET method reads an individual subscription. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '200': - description: | - OK - Representation of the subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications about - VNF package management. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications related to VNF package management. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - notificationTypes: - description: > - Match particular notification types. Permitted values: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification The permitted values of the - "notificationTypes" attribute are spelled exactly as the - names of the notification types to facilitate automated - code generation systems. - type: array - items: - type: string - enum: - - VnfPackageOnboardingNotification - - VnfPackageChangeNotification - vnfProductsFromProviders: - description: > - If present, match VNF packages that contain VNF products - from certain providers. The attributes - "vnfProductsFromProviders", "vnfdId" and "vnfPkgId" are - alternatives to reference to particular VNF packages in a - filter. They should not be used both in the same filter - instance, but one alternative should be chosen. - type: array - items: - type: object - required: - - vnfProvider - properties: - vnfProvider: - description: | - Name of the VNF provider to match. - type: string - vnfProducts: - description: > - If present, match VNF packages that contain VNF - products with certain product names, from one - particular provider. - type: array - items: - type: object - required: - - vnfProductName - properties: - vnfProductName: - description: | - Name of the VNF product to match. - type: string - versions: - description: > - If present, match VNF packages that contain - VNF products with certain versions and a - certain product name, from one particular - provider. - type: array - items: - type: object - required: - - vnfSoftwareVersion - properties: - vnfSoftwareVersion: - description: | - A Version. - type: string - vnfdVersions: - description: > - If present, match VNF packages that - contain VNF products with certain VNFD - versions, a certain software version and - a certain product name, from one - particular provider. - type: array - items: - description: | - A Version. - type: string - vnfdId: - description: > - Match VNF packages with a VNFD identifier listed in the - attribute. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - vnfPkgId: - description: > - Match VNF packages with a package identifier listed in the - attribute. May be present if the "notificationTypes" - attribute contains the value - "VnfPackageChangeNotification", and shall be absent - otherwise. The attributes "vnfProductsFromProviders", - "vnfdId" and "vnfPkgId" are alternatives to reference to - particular VNF packages in a filter. They should not be - used both in the same filter instance, but one alternative - should be chosen. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - operationalState: - description: > - - ENABLED: The VNF package is enabled, i.e. it can be used - for - instantiation of new VNF instances. - - DISABLED: The VNF package is disabled, i.e. it cannot be - used for - further VNF instantiation requests (unless and until the VNF package - is re-enabled). - type: string - enum: - - ENABLED - - DISABLED - usageState: - description: > - - IN_USE: VNF instances instantiated from this VNF package - exist. - NOT_IN_USE: No existing VNF instance is - instantiated from this VNF - package. - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - Terminate subscription - - The DELETE method terminates an individual subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '204': - description: | - No Content - The subscription resource was deleted successfully. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. If the request contains a malformed access - token, the API producer should respond with this response. The - details of the error shall be returned in the WWW-Authenticate HTTP - header, as defined in IETF RFC 6750 and IETF RFC 7235. The - ProblemDetails structure may be provided. If there is an application - error related to the client's input that cannot be easily mapped to - any other HTTP response code ("catch all error"), the API producer - shall respond with this response code.The "ProblemDetails" structure - shall be provided, and shall include in the "detail" attribute more - information about the source of the problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '416': - description: > - Requested Range Not Satisfiable - - This code is returned if the requested byte range in the Range HTTP - header is not present in the requested resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 62bd86a74750df598a7c503898e48b46096ccb3f..18bd70bcf2fff4d4052f80dc8acae6f2d2bfa299 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource environment/subscriptions.txt -Resource environment/IndividualSubscription.txt +Resource environment/individualSubscription.txt Resource environment/vnfPackages.txt Resource environment/individualVnfPackage.txt Resource environment/vnfPackageContent.txt @@ -15,6 +15,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** @@ -54,7 +55,10 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_id} = Split String @{attr}[0] ,${SEPERATOR} + @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]" GET VNF Packages with invalid attribute-based filter Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' @@ -612,7 +616,7 @@ Check Postcondition VNF Package Artifact Exist Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response['status']} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated @@ -631,8 +635,8 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Package Management according to filter - #TODO - + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body PkgmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription @@ -712,7 +716,7 @@ Send Post request for individual VNF Package Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual VNF Package Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -721,7 +725,7 @@ Send Put request for individual VNF Package Subscription Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual VNF Package Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -730,7 +734,7 @@ Send Patch request for individual VNF Package Subscription Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition VNF Package Subscription is Unmodified (Implicit) Log Check postconidtion subscription not modified @@ -746,7 +750,7 @@ Check Postcondition VNF Package Subscription is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check HTTP Response Header Contains @@ -772,3 +776,375 @@ Check Notification Endpoint Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +Get all OnBoarded VNF Packages + Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded VNF Packages with attribute-based filter + Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages?${POS_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded VNF Packages with invalid attribute-based filter + Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages?${NEG_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded VNF Packages with all_fields attribute selector + Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages?all_fields + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded VNF Packages with exclude_default attribute selector + Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue, using exclude_default filter. + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded VNF Packages with fields attribute selector + Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue, using fields + Pass Execution If ${NFVO_FIELDS} == 0 The NFVO is not able to use fields parameter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded VNF Packages with exclude_fields attribute selector + Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue, using fields + Pass Execution If ${NFVO_FIELDS} == 0 The NFVO is not able to use fields parameter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET OnBoarded all VNF Packages with invalid resource endpoint + Log Trying to perform a GET on a erroneous URI + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_package + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send OnBoarded POST Request for all VNF Packages + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send OnBoarded PUT Request for all VNF Packages + Log Trying to perform a PUT (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send OnBoarded PATCH Request for all VNF Packages + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send OnBoarded DELETE Request for all VNF Packages + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package + Log Trying to get a OnBoarded VNF Package present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package with invalid resource identifier + Log Trying to perform a negative get, using wrong authorization bearer + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${erroneousVnfdId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send POST Request for individual OnBoarded VNF Package + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for individual OnBoarded VNF Package + Log Trying to perform a PUT (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for individual OnBoarded VNF Package + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for individual OnBoarded VNF Package + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get single file VNFD in Individual OnBoarded VNF Package in Plain Format + Log Trying to get a VNFD from a given OnBoarded VNF Package present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get VNFD in Individual OnBoarded VNF Package in Zip Format + Log Trying to get a VNFD from a given OnBoarded VNF Package present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get single file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + Log Trying to get a VNFD from a given OnBoarded VNF Package present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get multi file VNFD in Individual OnBoarded VNF Package in Plain or Zip Format + Log Trying to get a VNFD from a given OnBoarded VNF Package present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get multi file VNFD in Individual OnBoarded VNF Package in Plain Format + Log Trying to get a negative case performing a get on a VNFD from a given VNF Package present in the NFVO Catalogue. Accept will be text/plain but VNFD is composed my multiple files. + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndIdZipVnfd}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get VNFD in Individual OnBoarded VNF Package with invalid resource identifier + Log Trying to perform a negative get, using an erroneous package ID + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${erroneousVnfdId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get VNFD in Individual OnBoarded VNF Package Content with conflict due to onboarding state + Log Trying to get a VNFD from a given OnBoarded VNF Package present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${onboardingStateVnfdId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send POST Request for VNFD in individual OnBoarded VNF Package + Log Trying to perform a POST. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for VNFD in individual OnBoarded VNF Package + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for VNFD in individual OnBoarded VNF Package + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for VNFD in individual OnBoarded VNF Package + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndIdZipVnfd}/vnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Content + Log Trying to get a VNF Package Content + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/package_content + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Content with Range Request + Log Trying to get a VNF Package Content using RANGE using an NFVO that can handle it + Pass Execution If ${NFVO_RANGE_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests. + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Set Headers {"Range": "${range}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/package_content + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Content with invalid Range Request + Log Trying to get a range of bytes of the limit of the VNF Package + Pass Execution If ${NFVO_RANGE_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests. + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Set Headers {"Range": "${erroneousRange}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/package_content + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Content with invalid resource identifier + Log Trying to perform a negative get, using an erroneous package ID + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${erroneousVnfdId}/package_content + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Content for OnBoarded VNF Package in onboarding state different from ONBOARDED + Log Trying to get a VNF Package content present in the NFVO Catalogue, but not in ONBOARDED operationalStatus + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${onboardingStateVnfdId}/package_content + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Artifact + Log Trying to get a VNF Package Artifact + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Artifact in octet stream format + Log Trying to get a VNF Package Artifact + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vnfdOctetStreamId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Artifact with Range Request + Log Trying to get an Artifact using RANGE Header and using an NFVO that can handle it + Pass Execution If ${NFVO_RANGE_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests. + Set Headers {"Range": "${range}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Artifact with invalid Range Request + Log Trying to get a range of bytes of the limit of the VNF Package + Pass Execution If ${NFVO_RANGE_OK} == 0 Skipping this test as NFVO is not able to handle partial Requests. + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Set Headers {"Range": "${erroneousRange}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Individual OnBoarded VNF Package Artifact with invalid resource identifier + Log Trying to perform a negative get, using an erroneous package ID + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${erroneousVnfdId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Artifact for OnBoarded VNF Package in onboarding state different from ONBOARDED + Log Trying to get a VNF Package artifact present in the NFVO Catalogue, but not in ONBOARDED operationalStatus + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${onboardingStateVnfdId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send POST Request for individual OnBoarded VNF Package Artifact + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for individual OnBoarded VNF Package Artifact + Log Trying to perform a PUT (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for individual OnBoarded VNF Package Artifact + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for individual OnBoarded VNF Package Artifact + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition OnBoarded VNF Package Artifact Exist + Log Checking that vnf pacakge still exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/onboarded_vnf_packages/${vndId}/artifacts/${artifactPath} + Check HTTP Response Status Code Is 200 diff --git a/SOL003/VNFPackageManagement-API/VNFPackages.robot b/SOL003/VNFPackageManagement-API/VNFPackages.robot index d1a58428d6e18aae8d40d83b963d76c941a49970..0e55fa20c42e8f90c7d53aa28e73d2a20e1aee4e 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackages.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackages.robot @@ -12,7 +12,7 @@ GET all VNF Packages ... Test title: GET all VNF Packages ... Test objective: The objective is to test the retrieval of all the available VNF packages information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET VNF Packages with attribute-based filter ... Test title: GET VNF Packages with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF packages using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET VNF Packages with invalid attribute-based filter ... Test title: GET VNF Packages with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET VNF Packages with "all_fields" attribute selector ... Test title: GET VNF Packages with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET VNF Packages with "exclude_default" attribute selector ... Test title: GET VNF Packages with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ GET VNF Packages with "fields" attribute selector ... Test title: GET VNF Packages with fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of fields attribute selector ... Post-Conditions: none @@ -97,7 +97,7 @@ GET VNF Packages with "exclude_fields" attribute selector ... Test title: GET VNF Packages with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -111,7 +111,7 @@ GET all VNF Packages with invalid resource endpoint ... Test title: GET VNF Packages with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid resource endpoint ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ POST all VNF Packages - Method not implemented ... Test title: POST all VNF Packages - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Packages ... Pre-conditions: none - ... Reference: clause 10.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ PUT all VNF Packages - Method not implemented ... Test title: PUT all VNF Packages - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -147,7 +147,7 @@ PATCH all VNF Packages - Method not implemented ... Test title: PATCH all VNF Packages - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -159,10 +159,222 @@ DELETE all VNF Packages - Method not implemented ... Test title: DELETE all VNF Packages - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 10.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Packages are not deleted by the failed operation Send DELETE Request for all VNF Packages Check HTTP Response Status Code Is 405 - Check Postcondition VNF Packages Exist \ No newline at end of file + Check Postcondition VNF Packages Exist + +GET all VNF Packages as a Paged Response + [Documentation] Test ID: 7.3.3.1.13 + ... Test title: GET all VNF Packages as a Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF packages information as a Paged Response. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all VNF Packages + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Packages - Bad Request Response too Big + [Documentation] Test ID: 7.3.3.1.14 + ... Test title: GET VNF Packages - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF packages fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all VNF Packages + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET all OnBoarded VNF Packages + [Documentation] Test ID: 7.3.3.1.15 + ... Test title: GET all OnBoarded VNF Packages + ... Test objective: The objective is to test the retrieval of all the available onboarded VNF packages information and perform a JSON schema and content validation of the collected data structure + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all OnBoarded VNF Packages + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgsInfo + Check HTTP Response Body Does Not Contain softwareImages + Check HTTP Response Body Does Not Contain additionalArtifacts + Check HTTP Response Body Does Not Contain userDefinedData + +GET OnBoarded VNF Packages with attribute-based filter + [Documentation] Test ID: 7.3.3.1.16 + ... Test title: GET OnBoarded VNF Packages with attribute-based filter + ... Test objective: The objective is to test the retrieval of OnBoarded VNF packages using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET OnBoarded VNF Packages with attribute-based filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgsInfo + Check HTTP Response Body VnfPkgsInfo Matches the requested attribute-based filter + +GET OnBoarded VNF Packages with invalid attribute-based filter + [Documentation] Test ID: 7.3.3.1.17 + ... Test title: GET OnBoarded VNF Packages with invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of OnBoarded VNF packages fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET OnBoarded VNF Packages with invalid attribute-based filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET OnBoarded VNF Packages with "all_fields" attribute selector + [Documentation] Test ID: 7.3.3.1.18 + ... Test title: GET OnBoarded VNF Packages with "all_fields" attribute selector + ... Test objective: The objective is to test the retrieval of OnBoarded VNF packages with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET OnBoarded VNF Packages with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgsInfo + Check HTTP Response Body vnfPkgsInfo Matches the requested all_fields selector + +GET OnBoarded VNF Packages with "exclude_default" attribute selector + [Documentation] Test ID: 7.3.3.1.19 + ... Test title: GET OnBoarded VNF Packages with exclude_default attribute selector + ... Test objective: The objective is to test the retrieval of OnBoarded VNF packages with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET OnBoarded VNF Packages with exclude_default attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgsInfo + Check HTTP Response Body vnfPkgsInfo Matches the requested exclude_default selector + +GET OnBoarded VNF Packages with "fields" attribute selector + [Documentation] Test ID: 7.3.3.1.20 + ... Test title: GET OnBoarded VNF Packages with fields attribute selector + ... Test objective: The objective is to test the retrieval of OnBoarded VNF packages with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFM supports the use of fields attribute selector + ... Post-Conditions: none + GET OnBoarded VNF Packages with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgsInfo + Check HTTP Response Body vnfPkgsInfo Matches the requested fields selector + +GET OnBoarded VNF Packages with "exclude_fields" attribute selector + [Documentation] Test ID: 7.3.3.1.21 + ... Test title: GET OnBoarded VNF Packages with exclude_fields attribute selector + ... Test objective: The objective is to test the retrieval of OnBoarded VNF packages with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 4.3.3.2.1, 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFM supports the use of exclude_fields attribute selector + ... Post-Conditions: none + GET OnBoarded VNF Packages with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfPkgsInfo + Check HTTP Response Body vnfPkgsInfo Matches the requested exclude_fields selector + +GET all OnBoarded VNF Packages with invalid resource endpoint + [Documentation] Test ID: 7.3.3.1.22 + ... Test title: GET OnBoarded VNF Packages with invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of OnBoarded VNF packages fails when using invalid resource endpoint + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET OnBoarded all VNF Packages with invalid resource endpoint + Check HTTP Response Status Code Is 404 + +POST all OnBoarded VNF Packages - Method not implemented + [Documentation] Test ID: 7.3.3.1.23 + ... Test title: POST all OnBoarded VNF Packages - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create new OnBoarded VNF Packages + ... Pre-conditions: none + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send OnBoarded POST Request for all VNF Packages + Check HTTP Response Status Code Is 405 + +PUT all OnBoarded VNF Packages - Method not implemented + [Documentation] Test ID: 7.3.3.1.24 + ... Test title: PUT all OnBoarded VNF Packages - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify existing OnBoarded VNF Packages + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send OnBoarded PUT Request for all VNF Packages + Check HTTP Response Status Code Is 405 + +PATCH all OnBoarded VNF Packages - Method not implemented + [Documentation] Test ID: 7.3.3.1.25 + ... Test title: PATCH all OnBoarded VNF Packages - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update existing OnBoarded VNF Packages + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send OnBoarded PATCH Request for all VNF Packages + Check HTTP Response Status Code Is 405 + +DELETE all OnBoarded VNF Packages - Method not implemented + [Documentation] Test ID: 7.3.3.1.26 + ... Test title: DELETE all OnBoarded VNF Packages - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete existing OnBoarded VNF Packages + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The VNF Packages are not deleted by the failed operation + Send OnBoarded DELETE Request for all VNF Packages + Check HTTP Response Status Code Is 405 + Check Postcondition VNF Packages Exist + +GET all OnBoarded VNF Packages as a Paged Response + [Documentation] Test ID: 7.3.3.1.27 + ... Test title: GET all OnBoarded VNF Packages as a Paged Response + ... Test objective: The objective is to test the retrieval of all the available OnBoarded VNF packages information as a Paged Response. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all OnBoarded VNF Packages + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET OnBoarded VNF Packages - Bad Request Response too Big + [Documentation] Test ID: 7.3.3.1.28 + ... Test title: GET OnBoarded VNF Packages - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of OnBoarded VNF packages fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all OnBoarded VNF Packages + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/environment/individualVnfPackage.txt b/SOL003/VNFPackageManagement-API/environment/individualVnfPackage.txt index 526ab63fdff4aed6da5c60eb81ffe3b82fe46e77..43f793bdd4995eeea4e5e3cc8954c904c7fdd3e6 100644 --- a/SOL003/VNFPackageManagement-API/environment/individualVnfPackage.txt +++ b/SOL003/VNFPackageManagement-API/environment/individualVnfPackage.txt @@ -1,2 +1,3 @@ *** Variables *** ${erroneousVnfPackageId} erroneousVnfPackageId # Given ID for vnfPkg not present in database +${erroneousVnfdId} erroneousVnfdId \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/environment/subscriptions.txt b/SOL003/VNFPackageManagement-API/environment/subscriptions.txt index 171d1862447b1a4b6349d0f7bf623485d963c679..ca34ee831fbdd3dd3727821ab00ee81d82c00fc6 100644 --- a/SOL003/VNFPackageManagement-API/environment/subscriptions.txt +++ b/SOL003/VNFPackageManagement-API/environment/subscriptions.txt @@ -4,3 +4,4 @@ ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant f ${callbackUri} http://172.22.1.7:9091/vnfpkgm/subscriptions ${total_polling_time} 2 min ${polling_interval} 10 sec +${SEPERATOR} = \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/environment/variables.txt b/SOL003/VNFPackageManagement-API/environment/variables.txt index d74e2cc53dfca55ec370c4eacf3912a4b120b9d0..460aa79d15b58d9131e98e55bfdd9543e579278b 100644 --- a/SOL003/VNFPackageManagement-API/environment/variables.txt +++ b/SOL003/VNFPackageManagement-API/environment/variables.txt @@ -10,7 +10,9 @@ ${NEG_AUTHORIZATION} Bearer negativetoken ${NFVO_FIELDS} 1 ${vnfPackageId} 788106a2-d692-44f3-a86d-384f0ce35e42 +${vndId} 788106a2-d692-44f3-a86d-384f0ce35e42 ${onboardingStateVnfPkgId} f9f130e4-05eb-4082-a676-4c97d13a883d +${onboardingStateVnfdId} f9f130e4-05eb-4082-a676-4c97d13a883d ${apiRoot} / ${apiVersion} v1 diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt index d1c4e58df99acf82f8859ce5135864b9c4111861..d18ef5961aeb65da0b14f831716a9dc9b7b9c3b7 100644 --- a/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt +++ b/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txt @@ -6,3 +6,4 @@ ${range} bytes=0-1023 ${erroneousRange} bytes=10000000-1000000000 # Requesting a out of range number of bytes ${erroneousVnfPkgId} erroneousPkgId ${vnfPackageOctetStreamId} octetStreamPkgId +${vnfdOctetStreamId} octetStreamVnfdId diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt index 9786732e6ba2f30f8373efb232ab00fb56a59052..ff87485e017f6ead1e9f0ab3dc53f5d7c1eb25f6 100644 --- a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt +++ b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt @@ -3,3 +3,5 @@ ${POS_FILTER} vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW ${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${fields} softwareImages,additionalArtifacts ${response} httpresponse +${SEPERATOR} = +${VAR_SEPERATOR} & \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt b/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt index 2cb57eb6ab5a82964428e3b703175e13ead49215..b1100153bf1503d21fcafeec0c2f45f7ba0723ea 100644 --- a/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt +++ b/SOL003/VNFPackageManagement-API/environment/vnfdInIndividualVnfPackage.txt @@ -6,4 +6,4 @@ ${ACCEPT_ZIP} application/zip ${CONTENT_TYPE_ZIP} application/zip ${vnfPkgZipVNFD} f5b220d4-6177-4ebb-a554-a43311e16075 # The VNF Package contains a VNFD composed by multiple files ${erroneousVnfPkgId} erroneousVnfPackageId # Given ID for vnfPkg not present in database - +${vndIdZipVnfd} f5b220d4-6177-4ebb-a554-a43311e16075 diff --git a/SOL003/VNFPackageManagement-API/schemas/ApiVersionInformation.schema.json b/SOL003/VNFPackageManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VNFPackageManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/ApiVersion.robot b/SOL003/VNFPerformanceManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..efc29bcee7b6b013e98a62a0ed873aaa2ed50bed --- /dev/null +++ b/SOL003/VNFPerformanceManagement-API/ApiVersion.robot @@ -0,0 +1,214 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.4.9.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.4.9.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.4.9.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.4.9.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.4.9.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.4.9.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.4.9.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.4.9.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.4.9.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.4.9.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot index 17ac1a9e9cf2a795c891fbe5b585f9ff45fed783..60129e126f77ae39e71ca79cc607cb9447352ea7 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -11,7 +11,7 @@ GET individual VNF Performance Job ... Test title: Get individual VNF Performance Job ... Test objective: The objective is to test the retrieval of an individual VNF performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET individual VNF Performance Job with invalid resource identifier ... Test title: Get individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual VNF Performance Job ... Test title: Delete Individual VNF Performance Job ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -51,7 +51,7 @@ DELETE Individual VNF Performance Job with invalid resource identifier ... Test title: Delete individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual VNF Performance Job - Method not implemented ... Test title: POST Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 6.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not created on the VNFM @@ -76,7 +76,7 @@ PUT Individual VNF Performance Job - Method not implemented ... Test title: PUT Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -89,7 +89,7 @@ PATCH Individual VNF Performance Job - Method not implemented ... Test title: PATCH Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new VNF Performance Monitoring Job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -188,7 +188,7 @@ Check HTTP Response Body Pm Job Identifier matches the requested Pm Job Check HTTP Response Status Code Is [Arguments] ${expected_status} ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${status} Log Status code validated Check HTTP Response Header Contains diff --git a/SOL003/VNFPerformanceManagement-API/IndividualReport.robot b/SOL003/VNFPerformanceManagement-API/IndividualReport.robot index 9be4f2686fb01bc395ecf1c5df5fcae92651f524..6a4de49d01024870148d270a4e370759df061bfa 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual VNF performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 6.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not created on the VNFM @@ -49,7 +49,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not modified by the operation @@ -62,7 +62,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not modified by the operation @@ -75,7 +75,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF performance report within a monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: clause 6.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance report is not deleted by the operation @@ -157,7 +157,7 @@ Check Postcondition VNF Individual Performance Report is Unmodified (Implicit) Check HTTP Response Status Code Is [Arguments] ${expected_status} ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${status} Log Status code validated Check HTTP Response Header Contains diff --git a/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot b/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot index 82c08d3b4f6d72cab04f23fb89616fbd701a5241..2a5bf91ae72c3d52002277c9db4c3e7fa0bd1dfe 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ GET Individual VNF Performance Subscription ... Test title: GET Individual VNF Performance Subscription ... Test objective: The objective is to test the retrieval of individual VNF performance subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Performance Subscription with invalid resource identifier ... Test title: GET Individual VNF Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance subscription fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual VNF Performance Subscription ... Test title: DELETE Individual VNF Performance Subscription ... Test objective: The objective is to test the deletion of an individual VNF performance subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Subscription is not available anymore in the VNFM @@ -52,7 +52,7 @@ DELETE Individual VNF Performance Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance subscription fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ POST Individual VNF Performance Subscription - Method not implemented ... Test title: POST Individual VNF Performance Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Subscription ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 6.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Subscription is not created on the VNFM @@ -77,7 +77,7 @@ PUT Individual VNF Performance Subscription - Method not implemented ... Test title: PUT Individual VNF Performance Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance subscription is not modified by the operation @@ -90,7 +90,7 @@ PATCH Individual VNF Performance Subscription - Method not implemented ... Test title: PATCH Individual VNF Performance Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Performance subscription ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance subscription is not modified by the operation diff --git a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot index 71eba8c7a9ca90116f92b47c32aab673bbea9577..18988757a40504d0f9c3e1c1831f6fcffc39878f 100644 --- a/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL003/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -12,7 +12,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance threshold fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not available anymore in the VNFM @@ -51,7 +51,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Threshold ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 6.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not created on the VNFM @@ -76,7 +76,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -89,7 +89,7 @@ PATCH Individual Threshold - Method not implemented ... Test title: PATCH Individual Threshold - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -104,7 +104,7 @@ GET Individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} GET individual VNF Performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint @@ -112,28 +112,28 @@ GET individual VNF Performance Threshold with invalid resource identifier Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Delete request for individual VNF Performance Threshold Log Trying to delete a Threhsold in the VNFM Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Delete request for individual VNF Performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the VNFM with invalid id Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Post request for individual VNF Performance Threshold Log Trying to create new threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/thresholds/${newThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual VNF Performance Threshold Log Trying to PUT threshold @@ -144,7 +144,7 @@ Send Put request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual VNF Performance Threshold Log Trying to PUT threshold @@ -155,7 +155,7 @@ Send Patch request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition VNF Performance Threshold is Unmodified (Implicit) Log Check postconidtion threshold not modified @@ -171,7 +171,7 @@ Check Postcondition VNF Performance Threshold is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${newThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check Postcondition VNF Performance Threshold is Deleted diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot index 801655db0af8064f231727869f6c0d95e8877fc6..13a3c76342309378b61732b00d5d8dbd421d187c 100644 --- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot @@ -3,6 +3,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Library OperatingSystem +Library String Resource environment/pmJobs.txt Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library MockServerLibrary @@ -13,7 +14,7 @@ GET all VNF Performance Monitoring Jobs ... Test title: GET all VNF Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +28,7 @@ GET VNF Performance Monitoring Jobs with attribute-based filter ... Test title: GET all VNF Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +42,7 @@ GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued all_fileds selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -55,7 +56,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -69,7 +70,7 @@ GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -83,7 +84,7 @@ GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -97,7 +98,7 @@ GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -110,7 +111,7 @@ GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,7 +123,7 @@ Create new VNF Performance Monitoring Job ... Test title: Create a new VNF Performance Monitoring Job ... Test objective: The objective is to test the creation of a new VNF performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is successfully created on the VNFM @@ -136,7 +137,7 @@ PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -148,7 +149,7 @@ PATCH all VNF Performance Monitoring Jobs - (Method not implemented) ... Test title: PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -160,7 +161,7 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -168,6 +169,32 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition VNF Performance Monitoring Jobs Exist +GET all VNF Performance Monitoring Jobs as Paged Response + [Documentation] Test ID: 7.3.4.1.13 + ... Test title: GET all VNF Performance Monitoring Jobs as Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs as Paged Response. + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all VNF Performance Monitoring Jobs + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Performance Monitoring Jobs - Bad Request Response too Big + [Documentation] Test ID: 7.3.4.1.14 + ... Test title: GET VNF Performance Monitoring Jobs - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all VNF Performance Monitoring Jobs + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** GET all VNF Performance Monitoring Jobs Log Trying to get all PM Jobs present in the VNFM @@ -324,7 +351,8 @@ Check HTTP Response Body PmJobs Matches the requested all_fields selector Check HTTP Response Body PmJobs Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + @{words} = Split String ${POS_FILTER} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceIds']} @{words}[1] Check HTTP Response Body Does Not Contain reports Log Checking that field element is missing @@ -335,7 +363,7 @@ Check HTTP Response Body Does Not Contain reports Check HTTP Response Status Code Is [Arguments] ${expected_status} ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${status} Log Status code validated Check HTTP Response Status Code Is 40x @@ -353,3 +381,7 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/PerformanceManagementNotification.robot b/SOL003/VNFPerformanceManagement-API/PerformanceManagementNotification.robot index b327bbd7acd1c653d400e0bce28bd8c8cff96db7..9e5392bf27d3346c2a2b279dd83b2b5204c6a598 100644 --- a/SOL003/VNFPerformanceManagement-API/PerformanceManagementNotification.robot +++ b/SOL003/VNFPerformanceManagement-API/PerformanceManagementNotification.robot @@ -17,7 +17,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of VNF Performance Information Availability Notification when new VNF performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of VNF Threshold Crossed Notification when a previously set VNF performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a threshold subscription is available in the VNFM. - ... Reference: clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFPerformanceManagement-API/SOL003-VNFPerformanceManagement-API.json b/SOL003/VNFPerformanceManagement-API/SOL003-VNFPerformanceManagement-API.json deleted file mode 100644 index 236662bd794d89114d0072f8ba55cae94aa1aaa4..0000000000000000000000000000000000000000 --- a/SOL003/VNFPerformanceManagement-API/SOL003-VNFPerformanceManagement-API.json +++ /dev/null @@ -1,5545 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL003 - VNF Performance Management interface", - "description": "SOL003 - VNF Performance Management interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 003 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf" - }, - "basePath": "/vnfpm/v1", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], - "paths": { - "/pm_jobs": { - "post": { - "description": "Create PM Job\n\nThe POST method creates a PM job.\n", - "parameters": [{ - "name": "CreatePmJobRequest", - "description": "The VNF creation parameters", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a request to create a PM job.\n", - "type": "object", - "required": ["criteria"], - "properties": { - "objectInstanceIds": { - "description": "Identifiers of the VNF instances for which performance information is requested to be collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "Criteria of the collection of performance information.\n", - "type": "object", - "required": ["collectionPeriod", "reportingPeriod"], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - } - } - }, { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "201": { - "description": "Created\nThe PM job was created successfully. The response body shall contain a representation of the created PM job resource. The HTTP response shall include a \"Location\" HTTP header that points to the created PM job resource.\n", - "headers": { - "Location": { - "description": "The resource URI of the created PM Job", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": ["id", "objectInstanceIds", "criteria"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the VNF instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "Criteria of the collection of performance information.\n", - "type": "object", - "required": ["collectionPeriod", "reportingPeriod"], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": ["href", "readyTime", "_links"], - "properties": { - "href": { - "description": "The Uri where the report can be obtained.\n", - "type": "string", - "format": "url" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objects": { - "description": "Links to resources representing the VNF instances for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query PM Job\n\nThe client can use this method to retrieve information about PM jobs.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nInformation about zero or more PM jobs was queried successfully. The response body shall contain representations of zero or more PM jobs.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": ["id", "objectInstanceIds", "criteria"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the VNF instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "Criteria of the collection of performance information.\n", - "type": "object", - "required": ["collectionPeriod", "reportingPeriod"], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": ["href", "readyTime", "_links"], - "properties": { - "href": { - "description": "The Uri where the report can be obtained.\n", - "type": "string", - "format": "url" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objects": { - "description": "Links to resources representing the VNF instances for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pm_jobs/{pmJobId}": { - "parameters": [{ - "name": "pmJobId", - "description": "Identifier of the PM job. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new PM job resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - }], - "get": { - "description": "Query PM Job\n\nThe client can use this method for reading an individual PM job.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nInformation about an individual PM job was queried successfully. The response body shall contain a representation of the PM job resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": ["id", "objectInstanceIds", "criteria"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the VNF instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "Criteria of the collection of performance information.\n", - "type": "object", - "required": ["collectionPeriod", "reportingPeriod"], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n", - "type": "integer" - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": ["href", "readyTime", "_links"], - "properties": { - "href": { - "description": "The Uri where the report can be obtained.\n", - "type": "string", - "format": "url" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objects": { - "description": "Links to resources representing the VNF instances for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Delete PM Job\n\nThis method terminates an individual PM job.\n", - "parameters": [{ - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "204": { - "description": "No Content\nThe PM job was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pm_jobs/{pmJobId}/reports/{reportId}": { - "parameters": [{ - "name": "pmJobId", - "description": "Identifier of the PM job.\n", - "in": "path", - "type": "string", - "required": true - }, { - "name": "reportId", - "description": "Identifier of the performance report.\n", - "in": "path", - "type": "string", - "required": true - }], - "get": { - "description": "The client can use this method for reading an individual performance report.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nInformation of an individual performance report was read successfully. The response body shall contain a representation of the performance report resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type defines the format of a performance report provided by the VNFM to the NFVO as a result of collecting performance information as part of a PM job.\n", - "type": "object", - "properties": { - "entries": { - "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. VNF instance), but can include multiple collected values.\n", - "type": "array", - "items": { - "type": "object", - "required": ["objectType", "objectInstanceId", "performanceMetric", "performanceValue"], - "properties": { - "objectType": { - "description": "Defines the object type for which performance information is reported (i.e. VNF type). The string value shall be set to the vnfdId of the VNF instance to which the performance information relates.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Name of the metric collected.\n", - "type": "string" - }, - "performanceValues": { - "description": "List of performance values with associated timestamp.\n", - "type": "array", - "items": { - "type": "object", - "required": ["timeStamp", "performanceValue"], - "properties": { - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "Value of the metric collected. The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is assumed to be defined in the external measurement specification (see ETSI GS NFV-IFA 027).\n", - "type": "object" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/thresholds": { - "post": { - "description": "Create Threshold\n\nThe POST method can be used by the client to create a threshold.\n", - "parameters": [{ - "name": "CreateThresholdRequest", - "description": "Request parameters to create a threshold resource.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a request to create a threshold.\n", - "type": "object", - "required": ["objectInstanceId", "criteria"], - "properties": { - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": ["performanceMetric", "thresholdType"], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": ["SIMPLE"] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": ["thresholdValue", "hysteresis"], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number.\n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - } - } - } - }, { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }], - "responses": { - "201": { - "description": "Created\nA threshold was created successfully. The response body shall contain a representation of the created threshold resource. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created threshold resource.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a threshold.\n", - "type": "object", - "required": ["id", "objectInstanceId", "criteria", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": ["performanceMetric", "thresholdType"], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": ["SIMPLE"] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": ["thresholdValue", "hysteresis"], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number.\n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "object": { - "description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n" - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query Threshold\n\nThe client can use this method to query information about thresholds.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nInformation about zero or more thresholds was queried successfully. The response body shall contain representations of zero or more thresholds.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "description": "This type represents a threshold.\n", - "type": "object", - "required": ["id", "objectInstanceId", "criteria", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": ["performanceMetric", "thresholdType"], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": ["SIMPLE"] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": ["thresholdValue", "hysteresis"], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number.\n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "object": { - "description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n" - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/thresholds/{thresholdId}": { - "parameters": [{ - "name": "thresholdId", - "description": "Identifier of the threshold. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new threshold resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - }], - "get": { - "description": "Query Threshold\n\nThe client can use this method for reading an individual threshold.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nInformation about an individual threshold was queried successfully. The response body shall contain a representation of the threshold.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a threshold.\n", - "type": "object", - "required": ["id", "objectInstanceId", "criteria", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": ["performanceMetric", "thresholdType"], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": ["SIMPLE"] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": ["thresholdValue", "hysteresis"], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number.\n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "object": { - "description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n" - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Delete Threshold\n\nThis method allows to delete a threshold.\n", - "parameters": [{ - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "204": { - "description": "No Content\nThe threshold was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "description": "Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created†response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other†response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [{ - "name": "PmSubscriptionRequest", - "description": "Details of the subscription to be created.\n", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a subscription request.\n", - "type": "object", - "required": ["callbackUri"], - "properties": { - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProvider"], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProductName"], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfSoftwareVersion"], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification 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": "string", - "enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "authentication": { - "type": "object", - "required": ["authType"], - "properties": { - "authType": { - "description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", - "type": "array", - "items": { - "type": "string", - "enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"] - } - }, - "paramsBasic": { - "description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "userName": { - "description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - }, - "password": { - "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", - "type": "string" - } - } - }, - "paramsOauth2ClientCredentials": { - "description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n", - "type": "object", - "properties": { - "clientId": { - "description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "clientPassword": { - "description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - } - } - }, { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }], - "responses": { - "201": { - "description": "Created\nThe subscription was created successfully. A representation of the created subscription resource shall be returned in the response body. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created subscription resource.\n", - "headers": { - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription.\n", - "type": "object", - "required": ["id", "callbackUri", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProvider"], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProductName"], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfSoftwareVersion"], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification 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": "string", - "enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "303": { - "description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query Subscription Information\n\nThe client can use this method to query the list of active subscriptions to Performance management notifications subscribed by the client.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "description": "This type represents a subscription.\n", - "type": "object", - "required": ["id", "callbackUri", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProvider"], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProductName"], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfSoftwareVersion"], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification 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": "string", - "enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [{ - "name": "subscriptionId", - "description": "This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - }], - "get": { - "description": "Query Subscription Information\n\nThe client can use this method for reading an individual subscription about Performance management notifications subscribed by the client.\n", - "parameters": [{ - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "200": { - "description": "OK\nThe subscription was read successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription.\n", - "type": "object", - "required": ["id", "callbackUri", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n", - "type": "object", - "properties": { - "vnfInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match VNF instances.\n", - "type": "object", - "properties": { - "vnfdIds": { - "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProvider"], - "properties": { - "vnfProvider": { - "description": "Name of the VNF provider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfProductName"], - "properties": { - "vnfProductName": { - "description": "Name of the VNF product to match.\n", - "type": "string" - }, - "versions": { - "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "type": "object", - "required": ["vnfSoftwareVersion"], - "properties": { - "vnfSoftwareVersion": { - "description": "A version.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "A version.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceIds": { - "description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfInstanceNames": { - "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification 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": "string", - "enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Terminate Subscription\n\nThis method terminates an individual subscription.\n", - "parameters": [{ - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }], - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/Subscriptions.robot b/SOL003/VNFPerformanceManagement-API/Subscriptions.robot index 87362c1c01264f5fd365dbd6f06112feb29bbaaa..cee773e798d8f08f76b072ff86ffa7db71c9daf0 100644 --- a/SOL003/VNFPerformanceManagement-API/Subscriptions.robot +++ b/SOL003/VNFPerformanceManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ GET all VNF Performance Subscriptions ... Test title: GET all VNF Performance Subscriptions ... Test objective: The objective is to test the retrieval of all VNF performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET VNF Performance Subscriptions with attribute-based filter ... Test title: GET VNF Performance Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ GET VNF Performance Management Subscriptions with invalid attribute-based filter ... Test title: GET VNF Performance Management Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ GET VNF Performance Subscriptions with invalid resource endpoint ... Test title: GET VNF Performance Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF performance subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,11 +65,11 @@ GET VNF Performance Subscriptions with invalid resource endpoint Check HTTP Response Status Code Is 404 Create new VNF Performance subscription - [Documentation] Test ID 7.3.4.6.5 + [Documentation] Test ID: 7.3.4.6.5 ... Test title: Create new VNF Performance subscription ... Test objective: The objective is to test the creation of a new VNF performance subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance subscription is successfully set and it matches the issued subscription @@ -82,11 +82,11 @@ Create new VNF Performance subscription Create duplicated VNF Performance subscription with VNFM not creating duplicated subscriptions [Tags] no-duplicated-subs - [Documentation] Test ID 7.3.4.6.6 + [Documentation] Test ID: 7.3.4.6.6 ... Test title: Create duplicated VNF Performance subscription with VNFM not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF performance subscription and check that no new subscription is created by the VNFM and a link to the original subscription is returned ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF performance subscription returned is available in the VNFM @@ -98,11 +98,11 @@ Create duplicated VNF Performance subscription with VNFM not creating duplicated Create duplicated VNF Performance subscription with VNFM creating duplicated subscriptions [Tags] duplicated-subs - [Documentation] Test ID 7.3.4.6.7 + [Documentation] Test ID: 7.3.4.6.7 ... Test title: Create duplicated VNF Performance subscription with VNFM creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF performance subscription is successfully set and it matches the issued subscription @@ -113,11 +113,11 @@ Create duplicated VNF Performance subscription with VNFM creating duplicated sub Check Postcondition VNF Performance Subscription Is Set PUT VNF Performance Subscriptions - Method not implemented - [Documentation] Test ID 7.3.4.6.8 + [Documentation] Test ID: 7.3.4.6.8 ... Test title: PUT VNF Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF performance subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -125,11 +125,11 @@ PUT VNF Performance Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 PATCH VNF Performance Subscriptions - Method not implemented - [Documentation] Test ID 7.3.4.6.9 + [Documentation] Test ID: 7.3.4.6.9 ... Test title: PATCH VNF Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF performance subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -137,14 +137,40 @@ PATCH VNF Performance Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 DELETE VNF Performance Subscriptions - Method not implemented - [Documentation] Test ID 7.3.4.6.10 + [Documentation] Test ID: 7.3.4.6.10 ... Test title: DELETE VNF Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF performance subscriptions ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. - ... Reference: clause 6.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance subscriptions are not deleted by the failed operation Send Delete Request for VNF Performance Subscriptions Check HTTP Response Status Code Is 405 Check Postcondition VNF Performance Subscriptions Exists + +GET all VNF Performance Subscriptions as Paged Response + [Documentation] Test ID: 7.3.4.6.11 + ... Test title: GET all VNF Performance Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all VNF performance subscriptions as Paged Response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all VNF Performance Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Performance Management Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 7.3.4.6.12 + ... Test title: GET VNF Performance Management Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF performance subscriptions fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: A VNF instance is instantiated. At least one VNF performance subscription is available in the VNFM. + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get all VNF Performance Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/Thresholds.robot b/SOL003/VNFPerformanceManagement-API/Thresholds.robot index 1644e1cd2d844137b4d1e33a2f052ea6a7d64c76..c1d7f0471034775accc4c29334e405181bc027a9 100644 --- a/SOL003/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL003/VNFPerformanceManagement-API/Thresholds.robot @@ -12,7 +12,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: clause 6.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -79,7 +79,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNF. - ... Reference: clause 6.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -103,14 +103,39 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: clause 6.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF performance thresholds are not deleted by the failed operation Send DELETE Request for all Performance Thresholds Check HTTP Response Status Code Is 405 Check Postcondition Thresholds Exist - + +GET All Performance Thresholds as Paged Response + [Documentation] Test ID: 7.3.4.4.9 + ... Test title: GET All Performance Thresholds as Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds as a Paged Response. + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET Performance Thresholds - Bad Request Response too Big + [Documentation] Test ID: 7.3.4.4.10 + ... Test title: GET Performance Thresholds - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** GET all Performance Thresholds Log Trying to get all thresholds present in the VNFM @@ -200,7 +225,7 @@ Check HTTP Response Body Thresholds match the requested attribute-based filter Check HTTP Response Status Code Is [Arguments] ${expected_status} ${status}= Convert To Integer ${expected_status} - Should Be Equal ${response['status']} ${status} + Should Be Equal As Strings ${response['status']} ${status} Log Status code validated Check HTTP Response Header Contains @@ -215,4 +240,7 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot index 15d256da00cbfebf58ffe22e60eadd180e44dbf6..a7a2ac66e5cae1e1af9944f1f7b118280890a427 100644 --- a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot +++ b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot @@ -154,7 +154,7 @@ Send Post Request for Duplicated VNF Performance Subscription Send Put Request for VNF Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 6.4.7.3.3. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${output}= Output response @@ -164,7 +164,7 @@ Send Put Request for VNF Performance Subscriptions Send Patch Request for VNF Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 6.4.7.3.4. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${output}= Output response @@ -174,7 +174,7 @@ Send Patch Request for VNF Performance Subscriptions Send Delete Request for VNF Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 6.4.7.3.5. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${output}= Output response @@ -208,13 +208,13 @@ Send Delete request for individual VNF Performance Subscription with invalid res Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Post request for individual VNF Performance Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -223,7 +223,7 @@ Send Put request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual VNF Performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -232,7 +232,7 @@ Send Patch request for individual VNF Performance Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition VNF Performance Subscription is Unmodified (Implicit) Log Check postconidtion subscription not modified @@ -248,7 +248,7 @@ Check Postcondition VNF Performance Subscription is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check Postcondition VNF Performance Subscription is Deleted @@ -283,8 +283,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - # Should Be Equal As Strings ${response['body']['callbackUri']} ${callbackUri} - #TODO + Should Be Equal As Strings ${response['body']['callbackUri']} ${callbackUri_Sub} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription @@ -345,3 +344,6 @@ Check Notification Endpoint Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt b/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt index 30b6682ef16874d7784cdbcf8a6f1926ecbe06f3..9891d3fed1ef2b09983dd918d21e21111a6e94a5 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt @@ -3,3 +3,4 @@ ${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${NEG_FILTER} criteriaPmJob=erroneousAttributeName ${fields} criteria,objectInstanceIds ${response} httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt b/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt index 304f9a2c2a04d52d71ad833bd48e8d1b0c452e8e..46984c68ed09364e8d9f4bd38d5c274c8569cee5 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt @@ -1,6 +1,6 @@ *** Variables *** -${callbackUri} http://172.22.1.7:9091/vnfpm/subscriptions -${filter_ok} callbackUri=${callbackUri} +${callbackUri_Sub} http://172.22.1.7:9091/vnfpm/subscriptions +${filter_ok} callbackUri=${callbackUri_Sub} ${filter_ko} erroneousFilter=erroneous ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL003/VNFPerformanceManagement-API/environment/variables.txt b/SOL003/VNFPerformanceManagement-API/environment/variables.txt index 553e63e5c7b9f80049c65f7ac1c972071ba39983..a2794c30957c4b31d89f61c79ddedf21e5b2542e 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/variables.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/variables.txt @@ -28,4 +28,6 @@ ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec -${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar \ No newline at end of file +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar + +${response} \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/schemas/ApiVersionInformation.schema.json b/SOL003/VNFPerformanceManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VNFPerformanceManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..dfb570e1dacda38ab86b1f766a1e534396155e9e --- /dev/null +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/ApiVersion.robot @@ -0,0 +1,211 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 7.3.7.3.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 7.3.7.3.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 7.3.7.3.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 7.3.7.3.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 7.3.7.3.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.7.3.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 7.3.7.3.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.7.3.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.7.3.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 7.3.7.3.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot index 5cd6f65fc6c57b3fe3485752dc29dcedd7049d99..a42c3215ccda8e3f3c46fe93415636e2413c486f 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/IndividualSubscription.robot @@ -4,7 +4,7 @@ Resource VRQANOperationKeywords.robot Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Documentation This resource represents an individual subscription. The client can use this resource to read and to terminate a ... subscription to notifications related to the availability of the virtualised resources quotas. Suite Setup Check Individual Subscription existence @@ -15,7 +15,7 @@ Create new Virtualised Resources Quota Available Notification individual subscri ... Test title: Create new Virtualised Resources Quota Available Notification individual subscription ... Test objective: The objective is to test that POST method is not allowed to create a new Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 11.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual Virtualised Resources Quota Available Notification subscription subscribed by the client and perform a JSON schema and content validation of the returned individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 11.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update a existing Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 11.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify a existing Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 11.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that Delete method is allowed to remove a existing Virtualised Resources Quota Available Notification individual subscription instance on VNF ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 11.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot index 95dd6a0e2162b95dd74d024669d54490e6165db5..ae3bddf2bd6b1f4296e7830a8b93a09309a22d29 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/NotificationEndpoint.robot @@ -16,7 +16,7 @@ Deliver a notification - Vr Quota Availibility ... Test title: Deliver a notification - Vr Quota Availibility ... Test objective: The objective is to notify related to the availability of the virtualised resources quota. ... Pre-conditions: The VNF has subscribed to the Vr Quota Availibility resource - ... Reference: clause 11.4.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/SOL003-VirtualisedResourcesQuotaAvailableNotification-API.json b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/SOL003-VirtualisedResourcesQuotaAvailableNotification-API.json deleted file mode 100644 index 2521b4bf5eb75cc270682cf190941810bb929b22..0000000000000000000000000000000000000000 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/SOL003-VirtualisedResourcesQuotaAvailableNotification-API.json +++ /dev/null @@ -1,1752 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.1.1", - "title": "SOL003 - Virtualised Resources Quota Available Notification interface", - "description": "SOL003 - Virtualised Resources Quota Available Notification interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 003 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf" - }, - "basePath": "/vrqan/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions": { - "post": { - "description": "Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Createdâ€� response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Otherâ€� response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "VrQuotaAvailSubscriptionRequest", - "description": "Details of the subscription to be created.", - "in": "body", - "required": true, - "schema": { - "description": "This type represents a subscription request related to notifications related to the availability of the virtualised resources quotas.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about the availability of the virtualised resources quotas. 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": { - "vimIds": { - "description": "Match VIMs that were created the quota for a consumer of the virtualised resources. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "resourceProviderIds": { - "description": "Match the entities responsible for the management of the virtualised resources that were allocated by the NFVO. This attribute shall only be supported when VNF-related Resource Management in indirect mode is applicable. The identification scheme is outside the scope of the present document.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "resourceTypes": { - "description": "Match particular resource types.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "resourceGroupIds": { - "description": "Match the \"infrastructure resource groups\" that are logical groupings of the virtualised resources assigned to a tenant within an infrastructure Domain.\n", - "type": "array", - "items": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "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" - } - } - } - } - } - } - } - } - ], - "responses": { - "201": { - "description": "Created\nRepresentation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created VNF instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications related to the availability of the virtualised resources quotas.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about the availability of the virtualised resources quotas. 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": { - "vimIds": { - "description": "Match VIMs that were created the quota for a consumer of the virtualised resources. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "resourceProviderIds": { - "description": "Match the entities responsible for the management of the virtualised resources that were allocated by the NFVO. This attribute shall only be supported when VNF-related Resource Management in indirect mode is applicable. The identification scheme is outside the scope of the present document.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "resourceTypes": { - "description": "Match particular resource types.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "resourceGroupIds": { - "description": "Match the \"infrastructure resource groups\" that are logical groupings of the virtualised resources assigned to a tenant within an infrastructure Domain.\n", - "type": "array", - "items": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "303": { - "description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "description": "Query Subscription Information\n\nThe GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe notification endpoint was tested successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "description": "Query Subscription Information\n\nThe GET method reads an individual subscription.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK\nRepresentation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "This type represents a subscription related to notifications related to the availability of the virtualised resources quotas.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about the availability of the virtualised resources quotas. 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": { - "vimIds": { - "description": "Match VIMs that were created the quota for a consumer of the virtualised resources. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "resourceProviderIds": { - "description": "Match the entities responsible for the management of the virtualised resources that were allocated by the NFVO. This attribute shall only be supported when VNF-related Resource Management in indirect mode is applicable. The identification scheme is outside the scope of the present document.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "resourceTypes": { - "description": "Match particular resource types.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "resourceGroupIds": { - "description": "Match the \"infrastructure resource groups\" that are logical groupings of the virtualised resources assigned to a tenant within an infrastructure Domain.\n", - "type": "array", - "items": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "description": "Terminate subscription\n\nThe DELETE method terminates an individual subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - } - } - }, - "400": { - "description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "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 in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/SOL003-VirtualisedResourcesQuotaAvailableNotification-API.yaml b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/SOL003-VirtualisedResourcesQuotaAvailableNotification-API.yaml deleted file mode 100644 index 1eb5dca48a1cb8c297edf830fcfbf195af582e71..0000000000000000000000000000000000000000 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/SOL003-VirtualisedResourcesQuotaAvailableNotification-API.yaml +++ /dev/null @@ -1,2801 +0,0 @@ -swagger: '2.0' -info: - version: 1.1.1 - title: SOL003 - Virtualised Resources Quota Available Notification interface - description: > - SOL003 - Virtualised Resources Quota Available Notification interface - - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification it refers to. In case of - discrepancies the published ETSI Group Specification takes precedence. - - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering - mechanism is defined. This mechanism is currently not included in the - corresponding OpenAPI design for this GS version. Changes to the - attribute-based filtering mechanism are being considered in v2.5.1 of this - GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -externalDocs: - description: ETSI GS NFV-SOL 003 V2.4.1 - url: >- - http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf -basePath: /vrqan/v1 -schemes: - - https -consumes: - - application/json -produces: - - application/json -paths: - /subscriptions: - post: - description: > - Subscribe - - - The POST method creates a new subscription. Creation of two subscription - resources with the same callbackURI and the same filter can result in - performance degradation and will provide duplicates of notifications to - the VNFM, and might make sense only in very rare use cases. - Consequently, the NFVO may either allow creating a subscription resource - if another subscription resource with the same filter and callbackUri - already exists (in which case it shall return the “201 Created†response - code), or may decide to not create a duplicate subscription resource (in - which case it shall return a “303 See Other†response code referencing - the existing subscription resource with the same filter and - callbackUri). - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - - name: Content-Type - description: > - The Content-Type header shall be set to - "application/merge-patch+json" according to IETF RFC 7396. - in: header - required: true - type: string - - name: VrQuotaAvailSubscriptionRequest - description: Details of the subscription to be created. - in: body - required: true - schema: - description: > - This type represents a subscription request related to - notifications related to the availability of the virtualised - resources quotas. - type: object - required: - - callbackUri - properties: - filter: - description: > - This type represents a subscription filter related to - notifications about the availability of the virtualised - resources quotas. At a particular nesting level in the filter - structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the - array matches (logical "or" between the values of one filter - attribute). - type: object - properties: - vimIds: - description: > - Match VIMs that were created the quota for a consumer of - the virtualised resources. This attribute shall only be - supported when VNF-related Resource Management in direct - mode is applicable. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderIds: - description: > - Match the entities responsible for the management of the - virtualised resources that were allocated by the NFVO. - This attribute shall only be supported when VNF-related - Resource Management in indirect mode is applicable. The - identification scheme is outside the scope of the present - document. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceTypes: - description: | - Match particular resource types. - type: array - items: - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - resourceGroupIds: - description: > - Match the "infrastructure resource groups" that are - logical groupings of the virtualised resources assigned to - a tenant within an infrastructure Domain. - type: array - items: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - authentication: - type: object - required: - - authType - properties: - authType: - description: > - Defines the types of Authentication / Authorization which - the API consumer is willing to accept when receiving a - notification. Permitted values: * BASIC: In every HTTP - request to the notification endpoint, use - HTTP Basic authentication with the client credentials. - * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the - notification endpoint, use an OAuth 2.0 Bearer token, obtained - using the client credentials grant type. - * TLS_CERT: Every HTTP request to the notification - endpoint is sent - over a mutually authenticated TLS session, i.e. not only the - server is authenticated, but also the client is authenticated - during the TLS tunnel setup. - type: array - items: - type: string - enum: - - BASIC - - OAUTH2_CLIENT_CREDENTIALS - - TLS_CERT - paramsBasic: - description: > - Parameters for authentication/authorization using BASIC. - Shall be present if authType is "BASIC" and the contained - information has not been provisioned out of band. Shall be - absent otherwise. - type: object - properties: - userName: - description: > - Username to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - password: - description: > - Password to be used in HTTP Basic authentication. - Shall be present if it has not been provisioned out of - band. - type: string - paramsOauth2ClientCredentials: - description: > - Parameters for authentication/authorization using - OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is - "OAUTH2_CLIENT_CREDENTIALS" and the contained information - has not been provisioned out of band. Shall be absent - otherwise. - type: object - properties: - clientId: - description: > - Client identifier to be used in the access token - request of the OAuth 2.0 client credentials grant - type. Shall be present if it has not been provisioned - out of band. The clientId and clientPassword passed in - a subscription shall not be the same as the clientId - and clientPassword that are used to obtain - authorization for API requests. Client credentials may - differ between subscriptions. The value of - clientPassword should be generated by a random - process. - type: string - clientPassword: - description: > - Client password to be used in the access token request - of the OAuth 2.0 client credentials grant type. Shall - be present if it has not been provisioned out of band. - The clientId and clientPassword passed in a - subscription shall not be the same as the clientId and - clientPassword that are used to obtain authorization - for API requests. Client credentials may differ - between subscriptions. The value of clientPassword - should be generated by a random process. - type: string - tokenEndpoint: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '201': - description: > - Created - - Representation of the created subscription resource. The HTTP - response shall include a "Location" HTTP header that points to the - created subscription resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - Location: - description: The resource URI of the created VNF instance - type: string - format: url - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - This type represents a subscription related to notifications - related to the availability of the virtualised resources quotas. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about the availability of the virtualised - resources quotas. At a particular nesting level in the filter - structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the - array matches (logical "or" between the values of one filter - attribute). - type: object - properties: - vimIds: - description: > - Match VIMs that were created the quota for a consumer of - the virtualised resources. This attribute shall only be - supported when VNF-related Resource Management in direct - mode is applicable. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderIds: - description: > - Match the entities responsible for the management of the - virtualised resources that were allocated by the NFVO. - This attribute shall only be supported when VNF-related - Resource Management in indirect mode is applicable. The - identification scheme is outside the scope of the present - document. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceTypes: - description: | - Match particular resource types. - type: array - items: - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - resourceGroupIds: - description: > - Match the "infrastructure resource groups" that are - logical groupings of the virtualised resources assigned to - a tenant within an infrastructure Domain. - type: array - items: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '303': - description: > - See Other - - A subscription with the same callbackURI and the same filter already - exists and the policy of the VNFM is to not create redundant - subscriptions. The HTTP response shall include a "Location" HTTP - header that contains the resource URI of the existing subscription - resource. The response body shall be empty. - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - get: - description: > - Query Subscription Information - - - The GET method allows the server to test the notification endpoint that - is provided by the client, e.g. during subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: false - type: string - responses: - '204': - description: > - No Content - - The notification endpoint was tested successfully. The response body - shall be empty. - headers: - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '/subscriptions/{subscriptionId}': - parameters: - - name: subscriptionId - description: > - Identifier of this subscription. This identifier can be retrieved from - the resource referenced by the "Location" HTTP header in the response - to a POST request creating a new subscription resource. It can also be - retrieved from the "id" attribute in the payload body of that - response. - in: path - type: string - required: true - get: - description: | - Query Subscription Information - - The GET method reads an individual subscription. - parameters: - - name: Accept - description: > - Content-Types that are acceptable for the response. Reference: IETF - RFC 7231 - in: header - required: true - type: string - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '200': - description: | - OK - Representation of the subscription resource. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - schema: - description: > - This type represents a subscription related to notifications - related to the availability of the virtualised resources quotas. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: > - This type represents a subscription filter related to - notifications about the availability of the virtualised - resources quotas. At a particular nesting level in the filter - structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the - array matches (logical "or" between the values of one filter - attribute). - type: object - properties: - vimIds: - description: > - Match VIMs that were created the quota for a consumer of - the virtualised resources. This attribute shall only be - supported when VNF-related Resource Management in direct - mode is applicable. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceProviderIds: - description: > - Match the entities responsible for the management of the - virtualised resources that were allocated by the NFVO. - This attribute shall only be supported when VNF-related - Resource Management in indirect mode is applicable. The - identification scheme is outside the scope of the present - document. - type: array - items: - description: > - An identifier with the intention of being globally - unique. - type: string - resourceTypes: - description: | - Match particular resource types. - type: array - items: - type: string - enum: - - COMPUTE - - STORAGE - - NETWORK - resourceGroupIds: - description: > - Match the "infrastructure resource groups" that are - logical groupings of the virtualised resources assigned to - a tenant within an infrastructure Domain. - type: array - items: - description: > - An identifier maintained by the VIM or other resource - provider. It is expected to be unique within the VIM - instance. - type: string - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: | - Links for this resource - type: object - required: - - self - properties: - self: - description: | - This type represents a link to a resource. - type: object - required: - - href - properties: - href: - description: | - URI of the referenced resource. - type: string - format: url - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '404': - description: > - Not Found - - If the API producer did not find a current representation for the - resource addressed by the URI passed in the request, or is not - willing to disclose that one exists, it shall respond with this - response code. The "ProblemDetails" structure may be provided, - including in the "detail" attribute information about the source of - the problem, e.g. a wrong resource URI variable. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - delete: - description: | - Terminate subscription - - The DELETE method terminates an individual subscription. - parameters: - - name: Authorization - description: | - The authorization token for the request. Reference: IETF RFC 7235 - in: header - required: true - type: string - responses: - '204': - description: > - No Content - - The subscription resource was deleted successfully. The response - body shall be empty. - headers: - Content-Type: - description: > - The MIME type of the body of the request. Reference: IETF RFC - 7231 - type: string - maximum: 1 - minimum: 1 - '400': - description: > - Bad Request - - If the request is malformed or syntactically incorrect (e.g. if the - request URI contains incorrect query parameters or a syntactically - incorrect payload body), the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided, and - should include in the "detail" attribute more information about the - source of the problem. - - --- - - If the request contains a malformed access token, the API producer - should respond with this response. The details of the error shall be - returned in the WWW-Authenticate HTTP header, as defined in IETF RFC - 6750 and IETF RFC 7235. The ProblemDetails structure may be - provided. - - --- - - If there is an application error related to the client's input that - cannot be easily mapped to any other HTTP response code ("catch all - error"), the API producer shall respond with this response code.The - "ProblemDetails" structure shall be provided, and shall include in - the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '401': - description: > - Unauthorized - - If the request contains no access token even though one is required, - or if the request contains an authorization token that is invalid - (e.g. expired or revoked), the API producer should respond with this - response. The details of the error shall be returned in the - WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF - RFC 7235. The ProblemDetails structure may be provided. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - type: string - maximum: 1 - minimum: 0 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '403': - description: > - Forbidden - - If the API consumer is not allowed to perform a particular request - to a particular resource, the API producer shall respond with this - response code. The "ProblemDetails" structure shall be provided. It - should include in the "detail" attribute information about the - source of the problem, and may indicate how to solve it. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '405': - description: > - Method Not Allowed - - If a particular HTTP method is not supported for a particular - resource, the API producer shall respond with this response code. - The "ProblemDetails" structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '406': - description: > - Not Acceptable - - If the "Accept" HTTP header does not contain at least one name of a - content type that is acceptable to the API producer, the API - producer shall respond with this response code. The "ProblemDetails" - structure may be omitted in that case. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '500': - description: > - Internal Server Error - - If there is an application error not related to the client's input - that cannot be easily mapped to any other HTTP response code ("catch - all error"), the API producer shall respond withthis response code. - The "ProblemDetails" structure shall be provided, and shall include - in the "detail" attribute more information about the source of the - problem. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - '503': - description: > - Service Unavailable - - If the API producer encounters an internal overload situation of - itself or of a system it relies on, it should respond with this - response code, following the provisions in IETF RFC 7231 [13] for - the use of the "Retry-After" HTTP header and for the alternative to - refuse the connection. The "ProblemDetails" structure may be - omitted. - headers: - Content-Type: - description: The MIME type of the body of the response. - type: string - maximum: 1 - minimum: 1 - schema: - description: > - The definition of the general "ProblemDetails" data structure from - IETF RFC 7807 [19] is reproduced inthis structure. Compared to the - general framework defined in IETF RFC 7807 [19], the "status" and - "detail" attributes are mandated to be included by the present - document, to ensure that the response contains additional textual - information about an error. IETF RFC 7807 [19] foresees - extensibility of the "ProblemDetails" type. It is possible that - particular APIs in the present document, or particular - implementations, define extensions to define additional attributes - that provide more information about the error. The description - column only provides some explanation of the meaning to Facilitate - understanding of the design. For a full description, see IETF RFC - 7807 [19]. - type: object - required: - - status - - detail - properties: - type: - description: > - A URI reference according to IETF RFC 3986 [5] that identifies - the problem type. It is encouraged that the URI provides - human-readable documentation for the problem (e.g. using HTML) - when dereferenced. When this member is not present, its value - is assumed to be "about:blank". - type: string - format: URI - title: - description: > - A short, human-readable summary of the problem type. It should - not change from occurrence to occurrence of the problem, - except for purposes of localization. If type is given and - other than "about:blank", this attribute shall also be - provided. A short, human-readable summary of the problem - type. It SHOULD NOT change from occurrence to occurrence of - the problem, except for purposes of localization (e.g., using - proactive content negotiation; see [RFC7231], Section 3.4). - type: string - status: - description: > - The HTTP status code for this occurrence of the problem. The - HTTP status code ([RFC7231], Section 6) generated by the - origin server for this occurrence of the problem. - type: integer - detail: - description: > - A human-readable explanation specific to this occurrence of - the problem. - type: string - instance: - description: > - A URI reference that identifies the specific occurrence of the - problem. It may yield further information if dereferenced. - type: string - format: URI - diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot index 5696bd183170004b70c3010204b9a390bc57435c..75c19e15820a1f3b9e33156c72af7d74d9e45d62 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource VRQANOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -14,7 +14,7 @@ Create new Virtualised Resources Quota Available Notification subscription ... Test title: Create new Virtualised Resources Quota Available Notification subscription ... Test objective: The objective is to create a new Virtualised Resources Quota Available Notification subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Create new Virtualised Resources Quota Available Notification subscription - DUP ... Test title: Create new Virtualised Resources Quota Available Notification subscription - DUPLICATION ... Test objective: The objective is to create a new Virtualised Resources Quota Available Notification subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: none @@ -43,7 +43,7 @@ Create new Virtualised Resources Quota Available Notification subscription - NO- ... Test title: Create new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION ... Test objective: The objective is to create a nduplicated Virtualised Resources Quota Available Notification subscription and verify that the VNF does not allow duplication ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM decides to not create a duplicate subscription resource ... Post-Conditions: none @@ -56,7 +56,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions and perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: none - ... Reference: clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions with attrib ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions with attribute-based Filter ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions and perform a JSON schema and content validation of the returned subscriptions data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET Virtualised Resources Quota Available Notification subscriptions - Bad Reque ... Test title: GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions with invalid attribute-based filtering parameters, and verify that problem details are returned ... Pre-conditions: none - ... Reference: clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ PUT Virtualised Resources Quota Available Notification subscriptions - Method no ... Test title: PUT Virtualised Resources Quota Available Notification subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update existing Virtualised Resources Quota Available Notification subscriptions instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 11.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -107,7 +107,7 @@ PATCH Virtualised Resources Quota Available Notification subscriptions - Method ... Test title: PATCH Virtualised Resources Quota Available Notification subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify Virtualised Resources Quota Available Notification subscriptions instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 11.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -119,12 +119,36 @@ DELETE Virtualised Resources Quota Available Notification subscriptions - Method ... Test title: DELETE Virtualised Resources Quota Available Notification subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to delete Virtualised Resources Quota Available Notification subscriptions instance on VNF ... Pre-conditions: A VNF instance is instantiated - ... Reference: clause 11.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: Clause 11.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none Send Delete request for Virtualised Resources Quota Available Notification subscription Check HTTP Response Status Code Is 405 Check Postcondition VNF Virtualised Resources Quota Available Notification Subscriptions Exists + +GET Virtualised Resources Quota Available Notification Subscriptions as Paged Response + [Documentation] Test ID: 7.3.7.1.10 + ... Test title: GET Virtualised Resources Quota Available Notification Subscriptions as Paged Response + ... Test objective: The objective is to retrieve the list of active Virtualised Resources Quota Available Notification subscriptions as a Paged Response. + ... Pre-conditions: none + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Virtualised Resources Quota Available Notification Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header - \ No newline at end of file +GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Response too Big + [Documentation] Test ID: 7.3.7.1.11 + ... Test title: GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of active Virtualised Resources Quota Available Notification subscriptions list fails because response is too big, and verify that problem details are returned + ... Pre-conditions: none + ... Reference: Clause 11.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Virtualised Resources Quota Available Notification Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot index ef9705043cc5e4645542e72678b8376731f82a91..20d4a9fc4d1e078eb1a4a5b414d9e500d5b108a8 100644 --- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot @@ -1,6 +1,6 @@ *** Settings *** Resource environment/variables.txt -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem @@ -23,24 +23,24 @@ Check Individual Subscription existence Check HTTP Response Status Code Is [Arguments] ${expected_status} Log Validate Status code - Should Be Equal ${response[0]['status']} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Header Contains [Arguments] ${HEADER_TOCHECK} - Should Contain ${response[0]['headers']} ${HEADER_TOCHECK} + Should Contain ${response['headers']} ${HEADER_TOCHECK} Log Header is present Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + Validate Json ${schema} ${response['body']} Log Json Schema Validation OK Check HTTP Response Header ContentType is [Arguments] ${expected_contentType} Log Validate content type - Should Be Equal ${response[0]['headers']['Content-Type']} ${expected_contentType} + Should Be Equal ${response['headers']['Content-Type']} ${expected_contentType} Log Content Type validated Check Postcondition VNF Virtualised Resources Quota Available Notification Subscriptions Exists @@ -58,7 +58,7 @@ Send Post request for Virtualised Resources Quota Available Notification Individ Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Put Virtualised Resources Quota Available Notification individual Subscription log Trying to perform a PUT. This method should not be implemented @@ -66,7 +66,7 @@ Put Virtualised Resources Quota Available Notification individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Patch Virtualised Resources Quota Available Notification individual subscription log Trying to perform a Patch. This method should not be implemented @@ -74,7 +74,7 @@ Patch Virtualised Resources Quota Available Notification individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Virtualised Resources Quota Available Notification individual subscription log Trying to get information about an individual subscription @@ -82,7 +82,7 @@ Get Virtualised Resources Quota Available Notification individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Delete Virtualised Resources Quota Available Notification individual subscription log Try to delete an individual subscription @@ -90,7 +90,7 @@ Delete Virtualised Resources Quota Available Notification individual subscriptio Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Send Post request for new Virtualised Resources Quota Available Notification subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -100,7 +100,7 @@ Send Post request for new Virtualised Resources Quota Available Notification sub ${body}= Get File jsons/vrQuotaAvailSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Send Post request for new Virtualised Resources Quota Available Notification subscription - DUPLICATION Log Trying to create a subscription with an already created content @@ -111,7 +111,7 @@ Send Post request for new Virtualised Resources Quota Available Notification sub ${body}= Get File jsons/vrQuotaAvailSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Send Post request for new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content @@ -122,7 +122,7 @@ Send Post request for new Virtualised Resources Quota Available Notification sub ${body}= Get File jsons/vrQuotaAvailSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Virtualised Resources Quota Available Notification Subscriptions Log Get the list of active subscriptions @@ -131,7 +131,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Virtualised Resources Quota Available Notification Subscriptions with Filter Log Get the list of active subscriptions @@ -140,7 +140,7 @@ GET Virtualised Resources Quota Available Notification Subscriptions with Filter Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get Virtualised Resources Quota Available Notification subscriptions with Bad Request Invalid attribute-based filtering parameters Log Get the list of active subscriptions using an invalid filter @@ -148,7 +148,7 @@ Get Virtualised Resources Quota Available Notification subscriptions with Bad Re Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Send Put request for Virtualised Resources Quota Available Notification subscription log Trying to perform a PUT. This method should not be implemented @@ -157,7 +157,7 @@ Send Put request for Virtualised Resources Quota Available Notification subscrip Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Send Patch request for Virtualised Resources Quota Available Notification subscription log Trying to perform a Patch. This method should not be implemented @@ -166,7 +166,7 @@ Send Patch request for Virtualised Resources Quota Available Notification subscr Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Send Delete request for Virtualised Resources Quota Available Notification subscription log Trying to perform a Delete. This method should not be implemented @@ -175,4 +175,9 @@ Send Delete request for Virtualised Resources Quota Available Notification subsc Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable ${response} ${outputResponse} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + \ No newline at end of file diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/schemas/ApiVersionInformation.schema.json b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/ApiVersion.robot b/SOL005/NSDManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..4f632f26a50589ffe78828d2dbd99205a10a6305 --- /dev/null +++ b/SOL005/NSDManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.1.10.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.1.10.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL005/NSDManagement-API/IndividualNSDescriptor.robot b/SOL005/NSDManagement-API/IndividualNSDescriptor.robot index 9f7cca79413d9dec6ad80b46a0da2a1b134c4477..2ff40359ef50c4867f8ffc10cc39ba13fab7df26 100644 --- a/SOL005/NSDManagement-API/IndividualNSDescriptor.robot +++ b/SOL005/NSDManagement-API/IndividualNSDescriptor.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This clause defines all the resources and methods provided by the Individual NS descriptor interface. \ +Documentation This Clause defines all the resources and methods provided by the Individual NS descriptor interface. \ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/nsDescriptors.txt # Specific nsDescriptors Parameters @@ -15,7 +15,7 @@ GET Individual Network Service Descriptor Information ... Test title: GET Individual Network Service Descriptor Information ... Test objective: The objective is to test the retrieval of an individual Network Service Descriptor information and perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,27 +25,24 @@ GET Individual Network Service Descriptor Information Check HTTP Response Header Contains ETag Check HTTP Response Body NsdInfo Identifier matches the requested Network Service Descriptor Information - GET Individual Network Service Descriptor Information with invalid resource identifier [Documentation] Test ID: 5.3.1.2.2 ... Test title: GET Individual Network Service Descriptor Information with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual Network Service Descriptor Information fails when using an invalid resource identifier ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none GET Individual Network Service Descriptor Information with invalid resource identifier Check HTTP Response Status Code Is 404 - - Disable Individual Network Service Descriptor [Documentation] Test ID: 5.3.1.2.3 ... Test title: Disable Individual Network Service Descriptor ... Test objective: The objective is to test the disabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in enabled operational state. - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is in operational state DISABLED and usage state is not modified @@ -53,6 +50,7 @@ Disable Individual Network Service Descriptor Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is NsdInfoModification Check Postcondition Network Service Descriptor is in operational state DISABLED + Check PostCondition GET Individual Network Service Descriptor Information Check Postcondition Network Service Descriptor usage state is unmodified (Implicit) Enable Individual Network Service Descriptor @@ -60,7 +58,7 @@ Enable Individual Network Service Descriptor ... Test title: Enable Individual Network Service Descriptor ... Test objective: The objective is to test the enabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.1.2.3). - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is in operational state ENABLED and usage state is not modified @@ -75,7 +73,7 @@ Enable Individual Network Service Descriptor with conflict due to operational st ... Test title: Enable Individual Network Service Descriptor with conflict due to operational state ENABLED ... Test objective: The objective is to test that enabling an individual Network Service Descriptor that is already in ENABLED operational state failsand perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +86,7 @@ Enable Individual Network Service Descriptor with conflict due to onboarding sta ... Test title: Enable Individual Network Service Descriptor with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a conflict when the Network Service Descriptor is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state. The onboarding state of the Network Service Descriptor for which the enabling is requested is different from ONBOARDED. - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -101,7 +99,7 @@ Enable Individual Network Service Descriptor with conflict due to onboarding sta ... Test title: Enable Individual Network Service Descriptor with HTTP Etag precondition failure ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -113,7 +111,7 @@ DELETE Individual Network Service Descriptor ... Test title: DELETE Individual Network Service Descriptor ... Test objective: The objective is to test the deletion of an individual Network Service Descriptor. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state and NOT_IN_USE usage state. - ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not available anymore in the NFVO @@ -126,7 +124,7 @@ DELETE Individual Network Service Descriptor in operational state ENABLED ... Test title: DELETE Individual Network Service Descriptor in operational state ENABLED ... Test objective: The objective is to test that the deletion of an individual Network Service Descriptor in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not deleted by the failed operation. @@ -140,7 +138,7 @@ POST Individual Network Service Descriptor - Method not implemented ... Test title: POST Individual Network Service Descriptor - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor ... Pre-conditions: none - ... Reference: clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +150,7 @@ PUT Individual Network Service Descriptor - Method not implemented ... Test title: PUT Individual Network Service Descriptor - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a new Network Service Descriptor ... Pre-conditions: none - ... Reference: clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot b/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot index a80a24487f9905dbd99365866a9ae7b873db35bc..bb1e5d970628b1ae80e9ca61ce659ce251e024d5 100644 --- a/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot +++ b/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This clause defines all the resources and methods provided by the Iindividual PNF descriptor interface. \ +Documentation This Clause defines all the resources and methods provided by the Iindividual PNF descriptor interface. \ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/pnfDescriptors.txt # Specific nsDescriptors Parameters @@ -14,7 +14,7 @@ GET Individual PNF Descriptor Information ... Test title: GET Individual PNF Descriptor Information ... Test objective: The objective is to test the retrieval of an individual PNF Descriptor information and perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET Individual PNF Descriptor Information with invalid resource identifier ... Test title: GET Individual PNF Descriptor Information with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual PNF Descriptor Information fails when using an invalid resource identifier ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ Update Individual PNF Descriptor ... Test title: Update Individual PNF Descriptor ... Test objective: The objective is to test the update of an individual PNF Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is modified according to the update request @@ -56,7 +56,7 @@ Update Individual PNF Descriptor with HTTP Etag precondition failure ... Test title: Update Individual PNF Descriptor with HTTP Etag precondition failure ... Test objective: The objective is to test that the update of a PNF Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST Individual PNF Descriptor - Method not implemented ... Test title: POST Individual PNF Descriptor - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNF Descriptor ... Pre-conditions: none - ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ PUT Individual PNF Descriptor - Method not implemented ... Test title: PUT Individual PNF Descriptor - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a new PNF Descriptor ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ DELETE Individual PNF Descriptor ... Test title: DELETE Individual PNF Descriptor ... Test objective: The objective is to test the deletion of an individual PNF Descriptor. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is not available anymore in the NFVO diff --git a/SOL005/NSDManagement-API/IndividualSubscription.robot b/SOL005/NSDManagement-API/IndividualSubscription.robot index 3e452b1163739223d92349bc779afe1723d736b3..cd9047ea1dcdb89a1010b53aa9e2f53f22b548f3 100644 --- a/SOL005/NSDManagement-API/IndividualSubscription.robot +++ b/SOL005/NSDManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ GET Individual NSD Management Subscription ... Test title: GET Individual NSD Management Subscription ... Test objective: The objective is to test the retrieval of individual NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual NSD Management Subscription with invalid resource identifier ... Test title: GET Individual NSD Management Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NSD Management subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual NSD Management Subscription with invalid resource identifier ... Test title: DELETE Individual NSD Management Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NSD Management subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST Individual NSD Management Subscription - Method not implemented ... Test title: POST Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NSD Management Subscription ... Pre-conditions: none - ... Reference: clause 5.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management Subscription is not created on the NFVO @@ -64,7 +64,7 @@ PUT Individual NSD Management Subscription - Method not implemented ... Test title: PUT Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscription is not modified by the operation @@ -77,7 +77,7 @@ PATCH Individual NSD Management Subscription - Method not implemented ... Test title: PATCH Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscription is not modified by the operation @@ -90,7 +90,7 @@ DELETE Individual NSD Management Subscription ... Test title: DELETE Individual NSD Management Subscription ... Test objective: The objective is to test the deletion of an individual NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management Subscription is not available anymore in the NFVO diff --git a/SOL005/NSDManagement-API/NSDContent.robot b/SOL005/NSDManagement-API/NSDContent.robot index 6b01def2f26b81f11395c0e2f43620a26e97d836..5079ca2cd6c003e4373c5222259b0ade3b531be6 100644 --- a/SOL005/NSDManagement-API/NSDContent.robot +++ b/SOL005/NSDManagement-API/NSDContent.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This clause defines the content of the individual NS descriptor, i.e. NSD content +Documentation This Clause defines the content of the individual NS descriptor, i.e. NSD content Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/nsDescriptors.txt # Specific nsDescriptors Parameters @@ -14,7 +14,7 @@ Get single file NSD Content in Plain Format ... Test title: Get single file NSD Content in Plain Format ... Test objective: The objective is to test the retrieval of the NSD Content in plain format and perform a validation that returned content is in plain format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none @@ -27,7 +27,7 @@ Get NSD Content in Zip Format ... Test title: Get NSD Content in Zip Format ... Test objective: The objective is to test the retrieval of the NSD Content in zip format and perform a validation that returned content is in zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ Get single file NSD Content in Plain or Zip Format ... Test title: Get single file NSD Content in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file NSD Content when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD Content is implemented as a single file ... Post-Conditions: none @@ -53,7 +53,7 @@ Get multi file NSD Content in Plain or Zip Format ... Test title: Get multi file NSD Content in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file NSD Content when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a multi file ... Post-Conditions: none @@ -66,7 +66,7 @@ Get multi file NSD Content in Plain Format ... Test title: Get multi file NSD Content in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file NSD Content fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD Content is implemented as a multi file ... Post-Conditions: none @@ -79,7 +79,7 @@ Get NSD Content with invalid resource identifier ... Test title: Get NSD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the NSD Content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ Get NSD Content with conflict due to onboarding state ... Test title: Get NSD Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the NSD Content fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD for which the NSD Content is requested is different from ONBOARDED. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ GET NSD Content with Range Request and NFVO supporting Range Requests ... Test title: GET NSD Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of NSD Content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -119,7 +119,7 @@ GET NSD Content with Range Request and NFVO not supporting Range Requests ... Test title: GET NSD Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of NSD Content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full NSD file. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -132,7 +132,7 @@ GET NSD Content with invalid Range Request ... Test title: GET NSD Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of NSD Content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -144,31 +144,34 @@ Upload NSD Content as Zip file in asynchronous mode ... Test title: Upload NSD Content as Zip file in asynchronous mode ... Test objective: The objective is to test the upload of an NSD Content in Zip format when the NFVO supports the asynchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in asynchronous mode - ... Post-Conditions: none + ... Post-Conditions: NSD Uploaded Send PUT Request to upload NSD Content as zip file in asynchronous mode Check HTTP Response Status Code Is 202 + Check Post Condition NSD Content has been Uploaded + Upload NSD Content as plain text file in asynchronous mode [Documentation] Test ID: 5.3.1.3.12 ... Test title: Upload NSD Content as plain text file in asynchronous mode ... Test objective: The objective is to test the upload of an NSD Content in plain text format when the NFVO supports the asynchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in asynchronous mode ... Post-Conditions: none Send PUT Request to upload NSD Content as plain text file in asynchronous mode Check HTTP Response Status Code Is 202 + Check Post Condition NSD Content has been Uploaded Upload NSD Content as Zip file in synchronous mode [Documentation] Test ID: 5.3.1.3.13 ... Test title: Upload NSD Content as Zip file in synchronous mode ... Test objective: The objective is to test the upload of an NSD Content in Zip format when the NFVO supports the synchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in synchronous mode ... Post-Conditions: The NSD content is successfully uploaded and available in the NFVO @@ -181,7 +184,7 @@ Upload NSD Content as plain text file in synchronous mode ... Test title: Upload NSD Content as plain text file in synchronous mode ... Test objective: The objective is to test the upload of an NSD Content in plain text format when the NFVO supports the synchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in synchronous mode ... Post-Conditions: The NSD content is successfully uploaded and available in the NFVO @@ -195,7 +198,7 @@ Upload NSD Content with conflict due to onboarding state ... Test title: Upload NSD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the NSD Content fails due to a conflict when the NSD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD for which the NSD Content is requested is different from ONBOARDED. - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -208,7 +211,7 @@ POST NSD Content - Method not implemented ... Test title: POST NSD Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor content ... Pre-conditions: none - ... Reference: clause 5.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -216,11 +219,11 @@ POST NSD Content - Method not implemented Check HTTP Response Status Code Is 405 PATCH NSD Content - Method not implemented - [Documentation] Test ID: 5.3.1.3.16 + [Documentation] Test ID: 5.3.1.3.17 ... Test title: PATCH NSD Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor content ... Pre-conditions: none - ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -228,11 +231,11 @@ PATCH NSD Content - Method not implemented Check HTTP Response Status Code Is 405 DELETE NSD Content - Method not implemented - [Documentation] Test ID: 5.3.1.3.17 + [Documentation] Test ID: 5.3.1.3.18 ... Test title: DELETE NSD Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor content ... Pre-conditions: none - ... Reference: clause 5.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD content is not deleted by the failed operation diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index bbdc8f7c69f19c425192bc2b181490d11d9ba979..9304e5e069b767abe1985d5eb2a73dbfc3cd0329 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -12,6 +12,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** GET all Network Service Descriptors Information @@ -26,13 +27,14 @@ GET Network Service Descriptors Information with attribute-based filter Log The GET method queries multiple NS descriptors using Attribute-based filtering parameters Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors?${POS_FIELDS} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors?${NSD_NAME} ${output}= Output response Set Suite Variable ${response} ${output} Check HTTP Response Body NsdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + @{words} = Split String ${NSD_NAME} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['nsdName']} @{words}[1] GET Network Service Descriptors Information with invalid attribute-based filter Log The GET method queries multiple NS descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -443,6 +445,18 @@ Send PUT Request to upload NSD Content as plain text file in synchronous mode ${output}= Output response Set Suite Variable ${response} ${output} +Check Post Condition NSD Content has been Uploaded + Log Checking NsdOnboardingNotification Recieved + Wait Until Keyword Succeeds ${retry} ${interval} Check Response is NsdOnboardingNotification + +Check Response is NsdOnboardingNotification + ${response}= Output response body + Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= NsdOnboardingNotification .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + + Check Postcondition NSD Content is uploaded and available in the NFVO Get single file NSD Content in Plain or Zip Format Check HTTP Response Status Code Is 200 @@ -495,13 +509,14 @@ GET PNF Descriptors Information with attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/pnf_descriptors?${POS_FIELDS} + GET ${apiRoot}/${apiName}/${apiVersion}/pnf_descriptors?${PNFD_NAME} ${output}= Output response Set Suite Variable ${response} ${output} Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + @{words} = Split String ${PNFD_NAME} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['pnfdName']} @{words}[1] GET PNF Descriptors Information with invalid attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -876,7 +891,6 @@ Check HTTP Response Status Code Is Log Status code validated - Check HTTP Response Body Json Schema Is [Arguments] ${input} Should Contain ${response['headers']['Content-Type']} application/json @@ -888,12 +902,11 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Is Empty Should Be Empty ${response['body']} Log No json schema is provided. Validation OK - - + Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NSD Management Management according to filter - #TODO - + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription @@ -970,7 +983,7 @@ Send Post request for individual NSD Management Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual NSD Management Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -979,7 +992,7 @@ Send Put request for individual NSD Management Subscription Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual NSD Management Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -988,7 +1001,7 @@ Send Patch request for individual NSD Management Subscription Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition NSD Management Subscription is Unmodified (Implicit) Log Check postconidtion subscription not modified @@ -1004,7 +1017,7 @@ Check Postcondition NSD Management Subscription is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check HTTP Response Body Subscription Identifier matches the requested Subscription @@ -1018,21 +1031,29 @@ Check HTTP Response Header Contains Log Header is present Check HTTP Response Header Contains Etag - Should Contain ${response['headers']} Etag + Should Contain ${response['headers']} ETag Log Header is present Set Suite Variable ${original_etag} ${response['headers]['ETag']} - Create Sessions Pass Execution If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not started as NFVO is not checking the notification endpoint Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance Wait For Process handle=mockInstance timeout=5s on_timeout=continue Create Mock Session ${callback_uri} - - + Check Notification Endpoint &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +Check PostCondition GET Individual Network Service Descriptor Information + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${nsdInfoId} + Should Be Equal As Strings ${response['status']} 200 \ No newline at end of file diff --git a/SOL005/NSDManagement-API/NSDManagementNotification.robot b/SOL005/NSDManagement-API/NSDManagementNotification.robot index 88a901f4e1e0260ed57a2d296159479aa41d6f33..de6418c750e0d322435023ecd781f93700b5f42a 100644 --- a/SOL005/NSDManagement-API/NSDManagementNotification.robot +++ b/SOL005/NSDManagement-API/NSDManagementNotification.robot @@ -16,7 +16,7 @@ NSD Onboarding Notification ... Test title: NSD Onboarding Notification ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for onboarding notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ NSD Onboarding Failure Notification ... Test title: NSD Onboarding Failure Notification ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ NSD Operational State Change Notification ... Test title: NSD Operational State Change Notification ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for operational state change notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ NSD Deletion Notification ... Test title: NSD Deletion Notification ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for deletion notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ PNFD Onboarding Notification ... Test title: PNFD Onboarding Notification ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for onboarding notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ PNFD Onboarding Failure Notification ... Test title: PNFD Onboarding Failure Notification ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ PNFD Deletion Notification ... Test title: PNFD Deletion Notification ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for deletion notifications is available in the NFVO. - ... Reference: clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSDescriptors.robot b/SOL005/NSDManagement-API/NSDescriptors.robot index 99b7fd405248d0affdcb324f843f1752e02cc881..0f2be16036735f14c700d47b69f407e5f8508498 100644 --- a/SOL005/NSDManagement-API/NSDescriptors.robot +++ b/SOL005/NSDManagement-API/NSDescriptors.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This clause defines all the resources and methods provided by the NS descriptors interface. +Documentation This Clause defines all the resources and methods provided by the NS descriptors interface. Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/nsDescriptors.txt # Specific nsDescriptors Parameters @@ -14,7 +14,7 @@ GET all Network Service Descriptors Information ... Test title: GET all Network Service Descriptors Information ... Test objective: The objective is to test the retrieval of all the Network Service Descriptors information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Network Service Descriptors Information with attribute-based filter ... Test title: GET Network Service Descriptors Information with attribute-based filter ... Test objective: The objective is to test the retrieval of Network Service Descriptors information using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Network Service Descriptors Information with invalid attribute-based filter ... Test title: GET Network Service Descriptors Information with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of Network Service Descriptors information fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ Get all Network Service Descriptors Information with malformed authorization tok ... Test title: Get all Network Service Descriptors Information with malformed authorization token ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails when using malformed authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.5.3.3, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -66,7 +66,7 @@ Get all Network Service Descriptors Information without authorization token ... Test title: Get all Network Service Descriptors Information without authorization token ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails when omitting the authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.5.3.3, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -78,7 +78,7 @@ GET all Network Service Descriptors Information with expired or revoked authoriz ... Test title: GET all Network Service Descriptors Information with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.5.3.3, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -90,7 +90,7 @@ GET all Network Service Descriptors Information with "all_fields" attribute sele ... Test title: GET all Network Service Descriptors Information with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.3.3.2.1, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ GET all Network Service Descriptors Information with "exclude_default" attribute ... Test title: GET all Network Service Descriptors Information with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.3.3.2.1, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ GET all Network Service Descriptors Information with "fields" attribute selector ... Test title: GET all Network Service Descriptors Information with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.3.3.2.1, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "fields" attribute selector ... Post-Conditions: none @@ -132,7 +132,7 @@ GET all Network Service Descriptors Information with "exclude_fields" attribute ... Test title: GET all Network Service Descriptors Information with "exclude_fields" attribute selector ... Test objective: The objective is to test the retrieval of all Network Service Descriptors Information with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 4.3.3.2.1, 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_fields" attribute selector ... Post-Conditions: none @@ -146,7 +146,7 @@ Create new Network Service Descriptor Resource ... Test title: Create new Network Service Descriptor Resource ... Test objective: The objective is to test the creation of a new Create new Network Service Descriptor resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: clause 5.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor resource is successfully created on the NFVO @@ -161,7 +161,7 @@ PUT all Network Service Descriptors - Method not implemented ... Test title: PUT all Network Service Descriptors Information - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify Network Service Descriptors Information ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 5.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ PATCH all Network Service Descriptors - Method not implemented ... Test title: PATCH all Network Service Descriptors Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptors Information ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 5.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -185,10 +185,36 @@ DELETE all Network Service Descriptors - Method not implemented ... Test title: DELETE all Network Service Descriptors Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptors Information ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 5.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptors are not deleted by the failed operation Send DELETE Request for all Network Service Descriptors Check HTTP Response Status Code Is 405 Check Postcondition Network Service Descriptors Exist + +GET all Network Service Descriptors Information as Paged Response + [Documentation] Test ID: 5.3.1.1.15 + ... Test title: GET all Network Service Descriptors Information as Paged Response + ... Test objective: The objective is to test the retrieval of all the Network Service Descriptors information as a Paged Response. + ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all Network Service Descriptors Information + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get all Network Service Descriptors Information - Bad Request Response too Big + [Documentation] Test ID: 5.3.1.1.16 + ... Test title: Get all Network Service Descriptors Information - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of Network Service Descriptors Information fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET all Network Service Descriptors Information + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSDManagement-API/PNFDContent.robot b/SOL005/NSDManagement-API/PNFDContent.robot index ae0ac97068ba67b5db4e3badfd48f90b15332203..15231b5fc1d9da8a787da89aa4990c5046e383e0 100644 --- a/SOL005/NSDManagement-API/PNFDContent.robot +++ b/SOL005/NSDManagement-API/PNFDContent.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This clause defines the content of the individual NS descriptor, i.e. PNFD content +Documentation This Clause defines the content of the individual NS descriptor, i.e. PNFD content Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/pnfDescriptors.txt # Specific PNFDescriptors Parameters @@ -14,7 +14,7 @@ Get PNFD Content ... Test title: Get PNFD Content ... Test objective: The objective is to test the retrieval of the PNFD Content in plain format and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Get PNFD Content with invalid resource identifier ... Test title: Get PNFD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the PNFD Content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get PNFD Content with conflict due to onboarding state ... Test title: Get PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from ONBOARDED. - ... Reference: clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ Upload PNFD Content as plain text file ... Test title: Upload PNFD Content as plain text file ... Test objective: The objective is to test the upload of a PNFD Content in plain text format. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The uploaded PNFD content is available in the NFVO @@ -67,7 +67,7 @@ Upload PNFD Content with conflict due to onboarding state ... Test title: Upload PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from CREATED. - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ POST PNFD Content - Method not implemented ... Test title: POST PNFD Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNF Descriptor content ... Pre-conditions: none - ... Reference: clause 5.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ PATCH PNFD Content - Method not implemented ... Test title: PATCH PNFD Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNF Descriptor content ... Pre-conditions: none - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ DELETE PNFD Content - Method not implemented ... Test title: DELETE PNFD Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNF Descriptor content ... Pre-conditions: none - ... Reference: clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNFD content is not deleted by the failed operation diff --git a/SOL005/NSDManagement-API/PNFDescriptors.robot b/SOL005/NSDManagement-API/PNFDescriptors.robot index 8182f4c5b8963ede34931c06218052571fb30f0b..afb60a8e511a795f853c31826daa8013522eba7a 100644 --- a/SOL005/NSDManagement-API/PNFDescriptors.robot +++ b/SOL005/NSDManagement-API/PNFDescriptors.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This clause defines all the resources and methods provided by the PNF descriptors interface. \ +Documentation This Clause defines all the resources and methods provided by the PNF descriptors interface. \ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/pnfDescriptors.txt # Specific nsDescriptors Parameters @@ -14,7 +14,7 @@ GET all PNF Descriptors Information ... Test title: GET all PNF Descriptors Information ... Test objective: The objective is to test the retrieval of all the PNF Descriptors information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET PNF Descriptors Information with attribute-based filter ... Test title: GET PNF Descriptors Information with attribute-based filter ... Test objective: The objective is to test the retrieval of PNF Descriptors information using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET PNF Descriptors Information with invalid attribute-based filter ... Test title: GET PNF Descriptors Information with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of PNF Descriptors information fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET all PNF Descriptors Information with "all_fields" attribute selector ... Test title: GET all PNF Descriptors Information with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ GET all PNF Descriptors Information with "exclude_default" attribute selector ... Test title: GET all PNF Descriptors Information with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET all PNF Descriptors Information with "fields" attribute selector ... Test title: GET all PNF Descriptors Information with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "fields" attribute selector ... Post-Conditions: none @@ -96,7 +96,7 @@ GET all PNF Descriptors Information with "exclude_fields" attribute selector ... Test title: GET all PNF Descriptors Information with "exclude_fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_fields" attribute selector ... Post-Conditions: none @@ -110,7 +110,7 @@ Create new PNF Descriptor Resource ... Test title: Create new PNF Descriptor Resource ... Test objective: The objective is to test the creation of a new Create new PNF Descriptor resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor resource is successfully created on the NFVO @@ -125,7 +125,7 @@ PUT all PNF Descriptors - Method not implemented ... Test title: PUT all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify PNF Descriptors Information ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -137,7 +137,7 @@ PATCH all PNF Descriptors - Method not implemented ... Test title: PATCH all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NF Descriptors Information ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -149,10 +149,36 @@ DELETE all PNF Descriptors - Method not implemented ... Test title: DELETE all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNF Descriptors Information ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: clause 5.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptors are not deleted by the failed operation Send DELETE Request for all PNF Descriptors Check HTTP Response Status Code Is 405 Check Postcondition PNF Descriptors Exist + +GET all PNF Descriptors Information as Paged Response + [Documentation] Test ID: 5.3.1.4.12 + ... Test title: GET all PNF Descriptors Information as Paged Response + ... Test objective: The objective is to test the retrieval of all the PNF Descriptors information as a Paged Response. + ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all PNF Descriptors Information + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET PNF Descriptors Information - Bad Request Response too Big + [Documentation] Test ID: 5.3.1.4.13 + ... Test title: GET PNF Descriptors Information - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of PNF Descriptors information fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all PNF Descriptors Information + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSDManagement-API/SOL005-NSDManagement-API.json b/SOL005/NSDManagement-API/SOL005-NSDManagement-API.json deleted file mode 100644 index a3a2254d4548d6cce62a9379f5b8842e795afbcb..0000000000000000000000000000000000000000 --- a/SOL005/NSDManagement-API/SOL005-NSDManagement-API.json +++ /dev/null @@ -1,16606 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.0.0", - "title": "SOL005 - NSD Management Interface", - "description": "SOL005 - NSD Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - }, - "contact": { - "name": "NFV-SOL WG" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 005 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf" - }, - "basePath": "/nsd/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/ns_descriptors": { - "get": { - "summary": "Query information about multiple NS descriptor resources.", - "description": "\"The GET method queries information about multiple NS descriptor resources. This method shall follow the provisions specified in the Tables 5.4.2.3.2-1 and 5.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes.\"\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "\"Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the NsdInfo and in data types referenced from it shall be supported in attribute-based filtering parameters.\"\n" - }, - { - "name": "all_fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Include all complex attributes in the response. See clause 4.3.3 for details.\n The NFVO shall support this parameter.\"\n" - }, - { - "name": "fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter.\" \n" - }, - { - "name": "exclude_fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter.\"\n" - }, - { - "name": "exclude_default", - "in": "query", - "required": false, - "type": "string", - "description": "\"Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The VNFM shall support this parameter. The following attributes shall be excluded from the NsdInfo structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: userDefinedData.\"\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about zero or more NS descriptors. The response body shall contain a representation of zero or more NS descriptors, as defined in clause 5.5.2.2\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "NsdInfo": { - "type": "object", - "required": [ - "id", - "nsdOnboardingState", - "nsdOperationalState", - "nsdUsageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdName": { - "type": "string", - "description": "\"Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\"\n" - }, - "nsdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "nsdDesigner": { - "type": "string", - "description": "\"Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\"\n" - }, - "nsdInvariantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfPkgIds": { - "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "nsdOperationalState": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "nsdUsageState": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "required": [ - "self", - "nsd_content" - ], - "description": "\"Links to resources related to this resource.\"\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsd_content": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "\"This type represents a response for the query NSD operation.\"\t\n" - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Create a new NS descriptor resource.", - "description": "The POST method is used to create a new NS descriptor resource or a new version of an on-boarded NS descriptor.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CreateNsdInfoRequest" - ], - "properties": { - "CreateNsdInfoRequest": { - "type": "object", - "properties": { - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - }, - "description": "\"This type creates a completely new NS descriptor resource.\"\n" - } - }, - "description": "Parameters of creating an NS descriptor resource, as defined in clause 5.5.2.3\n" - } - } - ], - "responses": { - "201": { - "description": "Status 201\nAn NS descriptor resource was created successfully, as a new NS descriptor resource. The response body shall contain a representation of the new NS descriptor resource, as defined in clause 5.5.2.3 of GS NFV-SOL 005. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the new NS descriptor resource. \n", - "schema": { - "type": "object", - "properties": { - "NsdInfo": { - "type": "object", - "required": [ - "id", - "nsdOnboardingState", - "nsdOperationalState", - "nsdUsageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdName": { - "type": "string", - "description": "\"Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\"\n" - }, - "nsdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "nsdDesigner": { - "type": "string", - "description": "\"Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\"\n" - }, - "nsdInvariantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfPkgIds": { - "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "nsdOperationalState": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "nsdUsageState": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "required": [ - "self", - "nsd_content" - ], - "description": "\"Links to resources related to this resource.\"\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsd_content": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "\"This type represents a response for the query NSD operation.\"\t\n" - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_descriptors/{nsdInfoId}": { - "parameters": [ - { - "name": "nsdInfoId", - "description": "Identifier of the individual NS descriptor resource.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "summary": "Read information about an individual NS descriptor resource.", - "description": "\"The GET method reads information about an individual NS descriptor. This method shall follow the provisions specified in GS NFV-SOL 005 Tables 5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about the individual NS descriptor. The response body shall contain a representation of the individual NS descriptor. \n", - "schema": { - "type": "object", - "properties": { - "NsdInfo": { - "type": "object", - "required": [ - "id", - "nsdOnboardingState", - "nsdOperationalState", - "nsdUsageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdName": { - "type": "string", - "description": "\"Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\"\n" - }, - "nsdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "nsdDesigner": { - "type": "string", - "description": "\"Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\"\n" - }, - "nsdInvariantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfPkgIds": { - "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "nsdOperationalState": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "nsdUsageState": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "required": [ - "self", - "nsd_content" - ], - "description": "\"Links to resources related to this resource.\"\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsd_content": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "\"This type represents a response for the query NSD operation.\"\t\n" - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Modify the operational state and/or the user defined data of an individual NS descriptor resource.", - "description": "The PATCH method modifies the operational state and/or user defined data of an individual NS descriptor resource. This method can be used to: 1) Enable a previously disabled individual NS descriptor resource, allowing again its use for instantiation of new network service with this descriptor. The usage state (i.e. \"IN_USE/NOT_IN_USE\") shall not change as result. 2) Disable a previously enabled individual NS descriptor resource, preventing any further use for instantiation of new network service(s) with this descriptor. The usage state (i.e. \"IN_USE/NOT_IN_USE\") shall not changes a result. 3) Modify the user defined data of an individual NS descriptor resource.\n", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "NsdInfoModifications" - ], - "properties": { - "NsdInfoModifications": { - "type": "object", - "description": "This type represents attribute modifications for an individual NS descriptor resource based on the NsdInfo data type. The attributes of NsdInfo that can be modified are included in the NsdInfoModifications data type.NOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.\n", - "properties": { - "nsdOperationalState": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "userDefinedData": { - "description": "Modifications of the userDefinedData attribute in NsdInfo data type. See note. If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - }, - "description": "Parameters for the modification of an individual NS descriptor resource.\n" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation was completed successfully. The response body shall contain attribute modifications for an 'Individual NS Descriptor' resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "NsdInfoModifications": { - "type": "object", - "description": "This type represents attribute modifications for an individual NS descriptor resource based on the NsdInfo data type. The attributes of NsdInfo that can be modified are included in the NsdInfoModifications data type.NOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.\n", - "properties": { - "nsdOperationalState": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "userDefinedData": { - "description": "Modifications of the userDefinedData attribute in NsdInfo data type. See note. If present, these modifications shall be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Delete an individual NS descriptor resource.", - "description": "The DELETE method deletes an individual NS descriptor resource. An individual NS descriptor resource can only be deleted when there is no NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled already (i.e. operationalState = DISABLED). Otherwise, the DELETE method shall fail.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe operation has completed successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_descriptors/{nsdInfoId}/nsd_content": { - "parameters": [ - { - "name": "nsdInfoId", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "summary": "Fetch the content of a NSD.", - "description": "The GET method fetches the content of the NSD. The NSD can be implemented as a single file or as a collection of multiple files. If the NSD is implemented in the form of multiple files, a ZIP file embedding these files shall be returned. If the NSD is implemented as a single file, either that file or a ZIP file embedding that file shall be returned. The selection of the format is controlled by the \"Accept\" HTTP header passed in the GET request:• If the \"Accept\" header contains only \"text/plain\" and the NSD is implemented as a single file, the file shall be returned; otherwise, an error message shall be returned.• If the \"Accept\" header contains only \"application/zip\", the single file or the multiple files that make up the NSD shall be returned embedded in a ZIP file.• If the \"Accept\" header contains both \"text/plain\" and \"application/zip\", it is up to the NFVO to choose the format to return for a single-file NSD; for a multi-file NSD, a ZIP file shall be returned.NOTE: The structure of the NSD zip file is outside the scope of the present document.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "text/plain", - "application/zip" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Range", - "in": "header", - "required": false, - "type": "string", - "description": "\"The request may contain a \"Range\" HTTP header to obtain single range of bytes from the NSD file. This can be used to continue an aborted transmission.If the NFVO does not support range requests, the NFVO shall ignore the 'Range\" header, process the GET request, and return the whole NSD file with a 200 OK response (rather than returning a 4xx error status code).\"\n" - } - ], - "responses": { - "200": { - "description": "200 OK\nOn success, the content of the NSD is returned. The payload body shall contain a copy of the file representing the NSD or a ZIP file that contains the file or multiple files representing the NSD, as specified above. The \"Content-Type\" HTTP header shall be set according to the format of the returned file, i.e. to \"text/plain\" for a YAML file or to \"application/zip\" for a ZIP file.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact \"nsdOnboardingState\" has a value different from ONBOARDED. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Upload the content of a NSD.", - "description": "\"The PUT method is used to upload the content of a NSD. The NSD to be uploaded can be implemented as a single file or as a collection of multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. If the NSD is implemented in the form of multiple files, a ZIP file embedding these files shall be uploaded. If the NSD is implemented as a single file, either that file or a ZIP file embedding that file shall be uploaded. The \"Content-Type\" HTTP header in the PUT request shall be set accordingly based on the format selection of the NSD. If the NSD to be uploaded is a text file, the \"Content-Type\" header is set to \"text/plain\". If the NSD to be uploaded is a zip file, the \"Content-Type\" header is set to \"application/zip\". This method shall follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2 of GS-NFV-SOL 005 for URI query parameters, request and response data structures, and response codes.\"\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. The payload body contains a copy of the file representing the NSD or a ZIP file that contains the file or multiple files representing the NSD.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "text/plain", - "application/zip" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe NSD content was accepted for uploading, but the processing has not been completed. It is expected to take some time for processing (asynchronous mode).\nThe response body shall be empty. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "204": { - "description": "204 No Content\nThe NSD content was successfully uploaded and validated (synchronous mode). The response body shall be empty.\n" - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact \"nsdOnboardingState\" has a value different from ONBOARDED. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pnf_descriptors": { - "get": { - "summary": "Query information about multiple PNF descriptor resources.", - "description": "\"The GET method queries information about multiple PNF descriptor resources.\"\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the PnfdInfo and in data types referenced from it shall be supported in attribute-based filtering parameters.\n" - }, - { - "name": "all_fields", - "in": "query", - "required": false, - "type": "string", - "description": "Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO shall support this parameter. \n" - }, - { - "name": "fields", - "in": "query", - "required": false, - "type": "string", - "description": "Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter. \n" - }, - { - "name": "exclude_fields", - "in": "query", - "required": false, - "type": "string", - "description": "Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter.\n" - }, - { - "name": "exclude_default", - "in": "query", - "required": false, - "type": "string", - "description": "Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the PnfdInfo structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: userDefinedData.\n" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about zero or more PNF descriptors. The response body shall contain a representation of zero or more PNF descriptors, as defined in clause 5.5.2.2\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "PnfdInfo": { - "type": "object", - "required": [ - "id", - "pnfdOnboardingState", - "pnfdUsageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdName": { - "description": "Name of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\n", - "type": "string" - }, - "pnfdersion": { - "description": "A Version.\n", - "type": "string" - }, - "pnfdProvider": { - "description": "\"Provider of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\"\n", - "type": "string" - }, - "pnfdInvariantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdOnboardingState": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "pnfdUsageState": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "userDefinedData": { - "type": "array", - "description": "User defined data for the individual PNF descriptor resource. This attribute can be modified with the PATCH method.\n", - "items": { - "type": "object" - } - }, - "_links": { - "required": [ - "pnfd_content", - "self" - ], - "type": "object", - "description": "\"Links to resources related to this resource.\"\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pnfd_content": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "\"This type represents a response for the query PNFD operation.\"\n" - } - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Create a new PNF descriptor resource.", - "description": "The POST method is used to create a new PNF descriptor resource\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CreatePnfdInfoRequest" - ], - "properties": { - "CreatePnfdInfoRequest": { - "type": "object", - "properties": { - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - }, - "description": "User-defined data for the PNF descriptor resource to be created. It shall be present when the user defined data is set for the individual PNF descriptor resource to be created.\n" - } - }, - "description": "Parameters of creating a PNF descriptor resource. \n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nA PNF descriptor resource was created successfully, as a new PNF descriptor resource. The response body shall contain a representation of the new PNF descriptor resource, as defined in clause 5.5.2.5. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the new PNF descriptor resource. \n", - "schema": { - "type": "object", - "properties": { - "PnfdInfo": { - "type": "object", - "required": [ - "id", - "pnfdOnboardingState", - "pnfdUsageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdName": { - "description": "Name of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\n", - "type": "string" - }, - "pnfdersion": { - "description": "A Version.\n", - "type": "string" - }, - "pnfdProvider": { - "description": "\"Provider of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\"\n", - "type": "string" - }, - "pnfdInvariantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdOnboardingState": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "pnfdUsageState": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "userDefinedData": { - "type": "array", - "description": "User defined data for the individual PNF descriptor resource. This attribute can be modified with the PATCH method.\n", - "items": { - "type": "object" - } - }, - "_links": { - "required": [ - "pnfd_content", - "self" - ], - "type": "object", - "description": "\"Links to resources related to this resource.\"\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pnfd_content": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "\"This type represents a response for the query PNFD operation.\"\n" - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pnf_descriptors/{pnfdInfoId}": { - "parameters": [ - { - "name": "pnfdInfoId", - "description": "Identifier of the individual PNF descriptor resource.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "summary": "Read an individual PNFD resource.", - "description": "The GET method reads information about an individual PNF descriptor. This method shall follow the provisions specified in the Tables 5.4.6.3.2-1 and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Accept", - "in": "header", - "required": true, - "type": "string", - "description": "Content-Types that are acceptable for the response. This header field shall be present if the response is expected to have a non-empty message body.\n" - }, - { - "name": "Authorization", - "in": "header", - "required": false, - "type": "string", - "description": "The authorization token for the request. Details are specified in clause 4.5.3 of GS NFV-SOL 005. \n" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about the individual PNFD descriptor. The response body shall contain a representation of the individual PNF descriptor.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "object", - "properties": { - "PnfdInfo": { - "type": "object", - "required": [ - "id", - "pnfdOnboardingState", - "pnfdUsageState", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdName": { - "description": "Name of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\n", - "type": "string" - }, - "pnfdersion": { - "description": "A Version.\n", - "type": "string" - }, - "pnfdProvider": { - "description": "\"Provider of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\"\n", - "type": "string" - }, - "pnfdInvariantId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdOnboardingState": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "pnfdUsageState": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "userDefinedData": { - "type": "array", - "description": "User defined data for the individual PNF descriptor resource. This attribute can be modified with the PATCH method.\n", - "items": { - "type": "object" - } - }, - "_links": { - "required": [ - "pnfd_content", - "self" - ], - "type": "object", - "description": "\"Links to resources related to this resource.\"\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pnfd_content": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "\"This type represents a response for the query PNFD operation.\"\n" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Delete an individual PNF descriptor resource.", - "description": "The DELETE method deletes an individual PNF descriptor resource. An individual PNF descriptor resource can only be deleted when there is no NS instance using it or there is NSD referencing it. To delete all PNFD versions identified by a particular value of the \"pnfdInvariantId\" attribute, the procedure is to first use the GET method with filter \"pnfdInvariantId\" towards the PNF descriptors resource to find all versions of the PNFD. Then, the client uses the DELETE method described in this clause to delete each PNFD version individually.\n", - "responses": { - "204": { - "description": "204 No Content\nThe operation has completed successfully. The response body shall be empty. \n" - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Modify the user defined data of an individual PNF descriptor resource.", - "description": "The PATCH method modifies the user defined data of an individual PNF descriptor resource.\n", - "parameters": [ - { - "name": "Accept", - "in": "header", - "required": true, - "type": "string", - "description": "Content-Types that are acceptable for the response. This header field shall be present if the response is expected to have a non-empty message body.\n" - }, - { - "name": "Content-Type", - "in": "header", - "required": true, - "type": "string", - "description": "The MIME type of the body of the request. This header field shall be present if the request has a non-empty message body.\n" - }, - { - "name": "Authorization", - "in": "header", - "required": false, - "type": "string", - "description": "The authorization token for the request. Details are specified in clause 4.5.3.\n" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "PnfdInfoModifications" - ], - "properties": { - "PnfdInfoModifications": { - "type": "object", - "required": [ - "userDefinedData" - ], - "properties": { - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - }, - "description": "\"This type represents attribute modifications for an individual PNF descriptor resource based on the \"PnfdInfo\" data type. The attributes of \"PnfdInfo\" that can be modified are included in the \"PnfdInfoModifications\" data type.\"\n" - } - }, - "description": "Parameters for the modification of an individual PNF descriptor resource, as defined in clause 5.5.2.4. \n" - } - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation was completed successfully. The response body shall contain attribute modifications for an 'Individual PNF Descriptor' resource. \n", - "schema": { - "type": "object", - "properties": { - "PnfdInfoModifications": { - "type": "object", - "required": [ - "userDefinedData" - ], - "properties": { - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - }, - "description": "\"This type represents attribute modifications for an individual PNF descriptor resource based on the \"PnfdInfo\" data type. The attributes of \"PnfdInfo\" that can be modified are included in the \"PnfdInfoModifications\" data type.\"\n" - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pnf_descriptors/{pnfdInfoId}/pnfd_content": { - "parameters": [ - { - "name": "pnfdInfoId", - "description": "Identifier of the individual PNF descriptor.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "summary": "Fetch the content of a PNFD.", - "description": "The GET method fetches the content of the PNFD. This method shall follow the provisions specified in the Table 5.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "text/plain" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nOn success, the content of the PNFD is returned. The payload body shall contain a copy of the file representing the PNFD. The Content-Type\" HTTP header shall be set to \"text/plain\".\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact pnfdOnboardingState has a value different from ONBOARDED. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Upload the content of a PNFD.", - "description": "The PUT method is used to upload the content of a PNFD. This resource represents the content of the individual PNF descriptor, i.e. PNFD content. The client can use this resource to upload and download the content of the PNFD. \n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "text/plain" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe PNFD content was successfully uploaded and validated. The response body shall be empty.\n" - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the PnfdOnboardingState has a value other than CREATED. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "get": { - "summary": "Query multiple subscriptions.", - "description": "The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations. This method shall support the URI query parameters, request and response data structures, and response codes.\nThis resource represents subscriptions. The client can use this resource to subscribe to notifications related to NSD management and to query its subscriptions.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute filtering parameters according to clause 4.3.2. The NFVO shall support receiving attribute filter parameters as part of the URI query string. The OSS/BSS may supply an attribute filter. All attribute names that appear in the NsdmSubscription and in data types referenced from it shall be supported in attribute filter parameters.\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "NsdmSubscription": { - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "type": "object", - "description": "\"This type represents a subscription filter related to notifications about NSD management. It shall comply with the provisions defined in Table 5.5.3.2-1 of GS NFV-SOL 005. 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", - "properties": { - "notificationTypes": { - "description": "\"Match particular notification types. Permitted values: NsdOnBoardingNotification, NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. 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": [ - "NsdOnBoardingNotification", - "NsdOnboardingFailureNotification", - "NsdChangeNotification", - "NsdDeletionNotification", - "PnfdOnBoardingNotification", - "PnfdOnBoardingFailureNotification", - "PnfdDeletionNotification" - ] - } - }, - "nsdInfoId": { - "description": "Match the NsdInfo identifier which is allocated by the NFVO.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdId": { - "description": "Match the NSD identifier, which is allocated by the NSD designer. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdName": { - "description": "Match the name of the on boarded NSD. \n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdVersion": { - "description": "Match the NSD version listed as part of this attribute.\n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "nsdDesigner": { - "description": "\"Match the NSD designer of the on-boarded NSD.\"\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdInvariantId": { - "description": "Match the NSD invariant identifier which is allocated by the NSD designer and identifies an NSD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgIds": { - "description": "Match VNF packages with a package identifier listed in the attribute. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Match the PnfdInfo identifier for the PNFD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Match the NsdInfo identifier for the nested NSD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "description": "Match particular on-boarding state of the NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - } - }, - "nsdOperationalState": { - "description": "Match particular operational state of the on-boarded NSD. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "nsdUsageState": { - "description": "Match particular usage state of the on-boarded NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "pnfdId": { - "description": "Match the PNFD identifier which is copied from the PNFD content. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdName": { - "description": "Match the name of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdVersion": { - "description": "Match the PNFD designer of the on-boarded PNFD. \n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "pnfdProvider": { - "description": "Match the provider of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdInvariantId": { - "description": "Match the PNFD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdOnboardingState": { - "description": "Match particular on-boarding state of the PNFD. \n", - "type": "array", - "items": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - } - }, - "pnfdUsageState": { - "description": "Match the usage state of the individual PNF descriptor resource. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "This type represents a subscription related to notifications about NSD management.\n" - } - } - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "303": { - "description": "303 See Other. A subscription with the same callbackURI and the same filter already exits and the policy of the NFVO is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Subscribe to NSD and PNFD change notifications.", - "description": "The POST method creates a new subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2 of GS-NFV SOL 005. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate subscription resource (in which case it shall return a \"303 See Other\" response code referencing the existing subscription resource with the same filter and callbackUri).\nThis resource represents subscriptions. The client can use this resource to subscribe to notifications related to NSD management and to query its subscriptions. \n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "NsdmSubscriptionRequest" - ], - "properties": { - "NsdmSubscriptionRequest": { - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "type": "object", - "description": "\"This type represents a subscription filter related to notifications about NSD management. It shall comply with the provisions defined in Table 5.5.3.2-1 of GS NFV-SOL 005. 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", - "properties": { - "notificationTypes": { - "description": "\"Match particular notification types. Permitted values: NsdOnBoardingNotification, NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. 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": [ - "NsdOnBoardingNotification", - "NsdOnboardingFailureNotification", - "NsdChangeNotification", - "NsdDeletionNotification", - "PnfdOnBoardingNotification", - "PnfdOnBoardingFailureNotification", - "PnfdDeletionNotification" - ] - } - }, - "nsdInfoId": { - "description": "Match the NsdInfo identifier which is allocated by the NFVO.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdId": { - "description": "Match the NSD identifier, which is allocated by the NSD designer. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdName": { - "description": "Match the name of the on boarded NSD. \n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdVersion": { - "description": "Match the NSD version listed as part of this attribute.\n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "nsdDesigner": { - "description": "\"Match the NSD designer of the on-boarded NSD.\"\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdInvariantId": { - "description": "Match the NSD invariant identifier which is allocated by the NSD designer and identifies an NSD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgIds": { - "description": "Match VNF packages with a package identifier listed in the attribute. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Match the PnfdInfo identifier for the PNFD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Match the NsdInfo identifier for the nested NSD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "description": "Match particular on-boarding state of the NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - } - }, - "nsdOperationalState": { - "description": "Match particular operational state of the on-boarded NSD. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "nsdUsageState": { - "description": "Match particular usage state of the on-boarded NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "pnfdId": { - "description": "Match the PNFD identifier which is copied from the PNFD content. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdName": { - "description": "Match the name of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdVersion": { - "description": "Match the PNFD designer of the on-boarded PNFD. \n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "pnfdProvider": { - "description": "Match the provider of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdInvariantId": { - "description": "Match the PNFD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdOnboardingState": { - "description": "Match particular on-boarding state of the PNFD. \n", - "type": "array", - "items": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - } - }, - "pnfdUsageState": { - "description": "Match the usage state of the individual PNF descriptor resource. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - }, - "callbackUri": { - "type": "string", - "description": "The URI of the endpoint to send the notification to.\n" - }, - "authentication": { - "description": "The procedure defined in clause 4.5.2 allows an API consumer to obtain authorization to perform API requests towards the API producer, including subscription requests. For sending the actual notifications matching a subscription, the API producer needs to obtain separate authorization to actually send the notification to the API consumer. If an API consumer requires the API producer to authorize for sending notifications to that API consumer, it shall include in the subscription request a data structure that defines the authorization requirements, as defined in Table 4.5.3.4-1.\n", - "type": "object", - "required": [ - "authType" - ], - "properties": { - "authType": { - "description": "Defines the types of Authentication Authorization the API consumer is willing to accept when receiving a notification.\nPermitted values:\nBASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials.\nOAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer token, obtained using the client credentials grant type.\nTLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session. i.e. not only server is authenticated, but also the client is authenticated during the TLS tunnel setup\n", - "type": "string", - "enum": [ - "BASIC", - "OAUTH2_CLIENT_CREDENTIALS", - "TLS_CERT" - ] - }, - "paramsBasic": { - "type": "object", - "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", - "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": { - "type": "object", - "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", - "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.\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.\n", - "type": "string" - }, - "tokenEndpoint": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - } - } - } - } - } - }, - "description": "This type represents a subscription request related to notifications about NSD management.\n" - } - }, - "description": "Details of the subscription to be created, as defined in clause 5.5.2.7.\n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location:\" HTTP header that points to the created subscription resource. \n", - "schema": { - "type": "object", - "properties": { - "NsdmSubscription": { - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "type": "object", - "description": "\"This type represents a subscription filter related to notifications about NSD management. It shall comply with the provisions defined in Table 5.5.3.2-1 of GS NFV-SOL 005. 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", - "properties": { - "notificationTypes": { - "description": "\"Match particular notification types. Permitted values: NsdOnBoardingNotification, NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. 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": [ - "NsdOnBoardingNotification", - "NsdOnboardingFailureNotification", - "NsdChangeNotification", - "NsdDeletionNotification", - "PnfdOnBoardingNotification", - "PnfdOnBoardingFailureNotification", - "PnfdDeletionNotification" - ] - } - }, - "nsdInfoId": { - "description": "Match the NsdInfo identifier which is allocated by the NFVO.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdId": { - "description": "Match the NSD identifier, which is allocated by the NSD designer. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdName": { - "description": "Match the name of the on boarded NSD. \n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdVersion": { - "description": "Match the NSD version listed as part of this attribute.\n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "nsdDesigner": { - "description": "\"Match the NSD designer of the on-boarded NSD.\"\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdInvariantId": { - "description": "Match the NSD invariant identifier which is allocated by the NSD designer and identifies an NSD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgIds": { - "description": "Match VNF packages with a package identifier listed in the attribute. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Match the PnfdInfo identifier for the PNFD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Match the NsdInfo identifier for the nested NSD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "description": "Match particular on-boarding state of the NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - } - }, - "nsdOperationalState": { - "description": "Match particular operational state of the on-boarded NSD. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "nsdUsageState": { - "description": "Match particular usage state of the on-boarded NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "pnfdId": { - "description": "Match the PNFD identifier which is copied from the PNFD content. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdName": { - "description": "Match the name of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdVersion": { - "description": "Match the PNFD designer of the on-boarded PNFD. \n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "pnfdProvider": { - "description": "Match the provider of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdInvariantId": { - "description": "Match the PNFD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdOnboardingState": { - "description": "Match particular on-boarding state of the PNFD. \n", - "type": "array", - "items": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - } - }, - "pnfdUsageState": { - "description": "Match the usage state of the individual PNF descriptor resource. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "This type represents a subscription related to notifications about NSD management.\n" - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription.", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "summary": "Read an individual subscription resource.", - "description": "This resource represents an individual subscription. It can be used by the client to read and to terminate a subscription to notifications related to NSD management.\nThe GET method retrieves information about a subscription by reading an individual subscription resource. This resource represents an individual subscription. It can be used by the client to read and to terminate a subscription to notifications related to NSD management.\n", - "parameters": [ - { - "name": "Accept", - "in": "header", - "required": true, - "type": "string", - "description": "Content-Types that are acceptable for the response. This header field shall be present if the response is expected to have a non-empty message body.\n" - }, - { - "name": "Authorization", - "in": "header", - "required": false, - "type": "string", - "description": "The authorization token for the request. Details are specified in clause 4.5.3 of GS NFV-SOL 005.\n" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource. \n", - "schema": { - "type": "object", - "properties": { - "NsdmSubscription": { - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "type": "object", - "description": "\"This type represents a subscription filter related to notifications about NSD management. It shall comply with the provisions defined in Table 5.5.3.2-1 of GS NFV-SOL 005. 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", - "properties": { - "notificationTypes": { - "description": "\"Match particular notification types. Permitted values: NsdOnBoardingNotification, NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification. 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": [ - "NsdOnBoardingNotification", - "NsdOnboardingFailureNotification", - "NsdChangeNotification", - "NsdDeletionNotification", - "PnfdOnBoardingNotification", - "PnfdOnBoardingFailureNotification", - "PnfdDeletionNotification" - ] - } - }, - "nsdInfoId": { - "description": "Match the NsdInfo identifier which is allocated by the NFVO.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdId": { - "description": "Match the NSD identifier, which is allocated by the NSD designer. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdName": { - "description": "Match the name of the on boarded NSD. \n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdVersion": { - "description": "Match the NSD version listed as part of this attribute.\n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "nsdDesigner": { - "description": "\"Match the NSD designer of the on-boarded NSD.\"\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "nsdInvariantId": { - "description": "Match the NSD invariant identifier which is allocated by the NSD designer and identifies an NSD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgIds": { - "description": "Match VNF packages with a package identifier listed in the attribute. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoIds": { - "description": "Match the PnfdInfo identifier for the PNFD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nestedNsdInfoIds": { - "description": "Match the NsdInfo identifier for the nested NSD referenced by the on-boarded NSD. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsdOnboardingState": { - "description": "Match particular on-boarding state of the NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object is created. UPLOADING = The associated NSD content is being uploaded. PROCESSING = The associated NSD content is being processed, e.g. validation. ONBOARDED = The associated NSD content is on-boarded.\"\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - } - }, - "nsdOperationalState": { - "description": "Match particular operational state of the on-boarded NSD. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "nsdUsageState": { - "description": "Match particular usage state of the on-boarded NSD.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - }, - "pnfdId": { - "description": "Match the PNFD identifier which is copied from the PNFD content. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdName": { - "description": "Match the name of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdVersion": { - "description": "Match the PNFD designer of the on-boarded PNFD. \n", - "type": "array", - "items": { - "description": "A Version.\n", - "type": "string" - } - }, - "pnfdProvider": { - "description": "Match the provider of the on-boarded PNFD.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "pnfdInvariantId": { - "description": "Match the PNFD in a version independent manner. \n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdOnboardingState": { - "description": "Match particular on-boarding state of the PNFD. \n", - "type": "array", - "items": { - "type": "string", - "description": "The enumeration PnfdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource is created. UPLOADING = The associated PNFD content is being uploaded. PROCESSING = The associated PNFD content is being processed, e.g. validation. ONBOARDED = The associated PNFD content is on-boarded.\n", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDING" - ] - } - }, - "pnfdUsageState": { - "description": "Match the usage state of the individual PNF descriptor resource. \n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PnfdUsageStateType shall comply with the provisions defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state of the resource.IN-USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\"\n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - }, - "description": "This type represents a subscription related to notifications about NSD management.\n" - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response. This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Terminate Subscription", - "description": "This resource represents an individual subscription. It can be used by the client to read and to terminate a subscription to notifications related to NSD management.\nThe DELETE method terminates an individual subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.9.3.3-2. \n", - "parameters": [ - { - "name": "Authorization", - "in": "header", - "required": false, - "type": "string", - "description": "The authorization token for the request. Details are specified in clause 4.5.3 of GS NFV-SOL 005.\n" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n" - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed. A precondition given in an HTTP request header is not fulfilled.\nTypically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. \nThe response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2.\n", - "parameters": [ - { - "name": "NsdOnBoardingNotification", - "description": "A notification about the successful on-boarding of an NSD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsdOnBoardingNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "nsdId", - "nsdInfoId", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"NsdOnboardingNotification\" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "type": "object", - "required": [ - "nsdInfo", - "subscription" - ], - "properties": { - "nsdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that an NSD management notification can contain.\"\n" - } - }, - "description": "\"This type represents an NSD management notification, which informs the receiver of the successful on-boarding of an NSD. It shall comply with the provisions defined in Table 5.5.2.9-1. The support of this notification is mandatory. The notification shall be triggered by the NFVO when the \" nsdOnboardingState\" attribute of a new NSD has changed to \"ONBOARDED\".\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsdOnBoardingFailureNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2.\n", - "parameters": [ - { - "name": "NsdOnBoardingFailureNotification", - "description": "A notification about the failure of on-boarding an NSD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsdOnBoardingFailureNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "nsdInfoId", - "onboardingFailureDetails", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"NsdOnboardingFailureNotification\" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "_links": { - "type": "object", - "required": [ - "nsdInfo", - "subscription" - ], - "properties": { - "nsdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that an NSD management notification can contain.\"\n" - } - }, - "description": "\"This type represents an NSD management notification, which informs the receiver of the failure of on-boarding an NSD. It shall comply with the provisions defined in Table 5.5.2.10-1. The support of this notification is mandatory. The notification shall be triggered by the NFVO when the on-boarding of an NSD has failed.\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsdChangeNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2.\n", - "parameters": [ - { - "name": "NsdChangeNotification", - "description": "A notification about the state change of an on-boarded NSD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsdChangeNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "nsdId", - "nsdInfoId", - "nsdOperationalState", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"NsdChangeNotification\" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdOperationalState": { - "type": "string", - "description": "\"The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\"\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "_links": { - "type": "object", - "required": [ - "nsdInfo", - "subscription" - ], - "properties": { - "nsdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that an NSD management notification can contain.\"\n" - } - }, - "description": "\"This type represents an NSD management notification, which informs the receiver of a change of the \"nsdOperationalState\" attribute of an on-boarded NSD. Changes in the value of the \"nsdUsageState\" and \"nsdOnboardingState\" attributes are not reported. The notification shall comply with the provisions defined in Table 5.5.2.11-1. The support of this notification is mandatory. The notification shall be triggered by the NFVO when the value of the \"nsdOperationalState\" attribute has changed, and the \"nsdOperationalState\" attribute has the value \"ONBOARDED\".\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsdDeletionNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2.\n", - "parameters": [ - { - "name": "NsdDeletionNotification", - "description": "A notification about the deletion of an on-boarded NSD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsdDeletionNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "nsdId", - "nsdInfoId", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"NsdDeletionNotification \" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "type": "object", - "required": [ - "nsdInfo", - "subscription" - ], - "properties": { - "nsdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that an NSD management notification can contain.\"\n" - } - }, - "description": "\"This type represents an NSD management notification, which informs the receiver of the deletion of an on-boarded NSD. The notification shall comply with the provisions defined in Table 5.5.2.12-1. The support of this notification is mandatory. The notification shall be triggered by the NFVO when it has deleted an on-boarded NSD.\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2.\n", - "parameters": [ - { - "name": "PnfdOnBoardingNotification", - "description": "A notification about the successful on-boarding of a PNFD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "PnfdOnBoardingNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "pnfdId", - "pnfdInfoId", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"PnfdOnboardingNotification\" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "type": "object", - "required": [ - "pnfdInfo", - "subscription" - ], - "properties": { - "pnfdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that a PNFD management notification can contain.\" \n" - } - }, - "description": "\"This type represents a PNFD management notification, which informs the receiver of the successful on-boarding of aPNFD. It shall comply with the provisions defined in Table 5.5.2.13-1. The support of this notification is mandatory. The notification is triggered when a new PNFD is on-boarded.\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdOnBoardingFailureNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2.\n", - "parameters": [ - { - "name": "PnfdOnBoardingFailureNotification", - "description": "A notification about the failure of on-boarding a PNFD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "PnfdOnBoardingFailureNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "onboardingFailureDetails", - "pnfdInfoId", - "timeStamp" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"PnfdOnboardingFailureNotification\" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "onboardingFailureDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "_links": { - "type": "object", - "required": [ - "pnfdInfo", - "subscription" - ], - "properties": { - "pnfdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that a PNFD management notification can contain.\" \n" - } - }, - "description": "\"This type represents a PNFD management notification, which informs the receiver of the failure of on-boarding a PNFD. It shall comply with the provisions defined in Table 5.5.2.14-1. The support of this notification is mandatory. The notification is triggered when the on-boarding of a PNFD fails.\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-PnfdDeletionNotification": { - "post": { - "summary": "Notify about NSD and PNFD changes", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Table 5.4.10.3.1-2. \n", - "parameters": [ - { - "name": "PnfdDeletionNotification", - "description": "A notification about the deletion of an on-boarded PNFD.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "PnfdDeletionNotification": { - "type": "object", - "required": [ - "_links", - "id", - "notificationType", - "pnfdId", - "pnfdInfoId", - "timeStamp" - ], - "properties": { - "id": { - "type": "string", - "description": "\"Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the \"id\" attribute of all these notifications shall have the same value.\"\n" - }, - "notificationType": { - "type": "string", - "description": "\"Discriminator for the different notification types. Shall be set to \"PnfdDeletionNotification \" for this notification type.\"\n" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "type": "object", - "required": [ - "pnfdInfo", - "subscription" - ], - "properties": { - "pnfdInfo": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "description": "\"This type represents the links to resources that a PNFD management notification can contain.\" \n" - } - }, - "description": "\"This type represents a PNFD management notification, which informs the receiver of the deletion of an on-boarded PNFD. The notification shall comply with the provisions defined in Table 5.5.2.15-1. The support of this notification is mandatory. The notification is triggered when an on-boarded PNFD is deleted.\"\n" - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Test the notification endpoint", - "description": "This resource represents a notification endpoint. The server can use this resource to send notifications to a subscribed client, which has provided the URI of this resource during the subscription process.\nThe GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription. This method shall follow the provisions specified in the Table 5.4.10.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification endpoint was tested successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact the NS descriptor resource is in the enabled operational state (i.e. operationalState = ENABLED) or there are running NS instances using the concerned individual NS descriptor resource (i.e. usageState = IN_USE). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. access after end of file). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} diff --git a/SOL005/NSDManagement-API/Subscriptions.robot b/SOL005/NSDManagement-API/Subscriptions.robot index 508c4589d106cecdc72c9eaf81b66015dc2e169e..968710bd8dec6f4f3f29bf637a1aa4e43c9f1dce 100644 --- a/SOL005/NSDManagement-API/Subscriptions.robot +++ b/SOL005/NSDManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Get All NSD Management Subscriptions ... Test title: Get All NSD Management Subscriptions ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ Get NSD Management Subscriptions with attribute-based filter ... Test title: Get NSD Management Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ Get NSD Management Subscriptions with invalid attribute-based filter ... Test title: Get NSD Management Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET NSD Management Subscription with invalid resource endpoint ... Test title: GET NSD Management Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ Create new NSD Management subscription ... Test title: Create new NSD Management subscription ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription @@ -87,7 +87,7 @@ Create duplicated NSD Management subscription with NFVO not creating duplicated ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO @@ -104,7 +104,7 @@ Create duplicated NSD Management subscription with NFVO creating duplicated subs ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription @@ -120,7 +120,7 @@ PUT NSD Management Subscriptions - Method not implemented ... Test title: PUT NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -133,7 +133,7 @@ PATCH NSD Management Subscriptions - Method not implemented ... Test title: PATCH NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -146,7 +146,7 @@ DELETE NSD Management Subscriptions - Method not implemented ... Test title: DELETE NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation @@ -154,3 +154,28 @@ DELETE NSD Management Subscriptions - Method not implemented Check HTTP Response Status Code Is 405 Check Postcondition NSD Management Subscriptions Exists +Get All NSD Management Subscriptions as Paged Response + [Documentation] Test ID: 5.3.1.7.11 + ... Test title: Get All NSD Management Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get NSD Management Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.1.7.12 + ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSDManagement-API/environment/nsDescriptors.txt b/SOL005/NSDManagement-API/environment/nsDescriptors.txt index 1ac118a28efa3e23529bca5f6f7461b144d4cf33..b16e19ee9d6f66bc9c2da0e885b399b15737addb 100644 --- a/SOL005/NSDManagement-API/environment/nsDescriptors.txt +++ b/SOL005/NSDManagement-API/environment/nsDescriptors.txt @@ -29,3 +29,6 @@ ${wrong_etag} abcd ${usageState} state ${length} 1024 ${createdNsdInfoId} f27200b1-1d8b-48c2-9d98-a993b8ab117f +${NSD_NAME} nsdName=onBoardedNSD +${PNFD_NAME} pnfdName=onBoardedPNFD +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/NSDManagement-API/environment/subscriptions.txt b/SOL005/NSDManagement-API/environment/subscriptions.txt index 553e803c8ca2672bd409772040b44eb3253e7efb..d8c0411021732e5676a5aa65e2dc168a37e48d82 100644 --- a/SOL005/NSDManagement-API/environment/subscriptions.txt +++ b/SOL005/NSDManagement-API/environment/subscriptions.txt @@ -1,3 +1,4 @@ *** Variables *** ${filter_ok} callbackUri=http://172.22.1.7:9091/nsd/subscriptions ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/NSDManagement-API/environment/variables.txt b/SOL005/NSDManagement-API/environment/variables.txt index 9f9d5956c6cffa1e8a2c3a69786c08f568e96493..9de189269667ca498646849674ee0e05086a72e0 100644 --- a/SOL005/NSDManagement-API/environment/variables.txt +++ b/SOL005/NSDManagement-API/environment/variables.txt @@ -37,3 +37,5 @@ ${NFVO_ALLOWS_DUPLICATE_SUBS} 1 ${total_polling_time} 2 min ${polling_interval} 10 sec ${response} +${retry} 5x +${interval} 5 sec \ No newline at end of file diff --git a/SOL005/NSDManagement-API/schemas/ApiVersionInformation.schema.json b/SOL005/NSDManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL005/NSDManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json b/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json index 4c56891762d217035a253fe093e15fe63ea38bf3..1cc5abe596ff06011f0be177b75bcdc3fd0085a0 100644 --- a/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json +++ b/SOL005/NSDManagement-API/schemas/NsdInfo.schema.json @@ -70,7 +70,7 @@ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ - "statussss", + "status", "detail" ], "properties": { diff --git a/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json b/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json index f6c0ade7e085f7db438298ce008f61d4c5b6681a..226ebe7d3829c4aad50209f76ae997fa93d52dae 100644 --- a/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json +++ b/SOL005/NSDManagement-API/schemas/NsdInfos.schema.json @@ -72,7 +72,7 @@ "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ - "statussss", + "status", "detail" ], "properties": { diff --git a/SOL005/NSFaultManagement-API/Alarms.robot b/SOL005/NSFaultManagement-API/Alarms.robot index a4f600f145cfac3048686594e72b7f18a46381d2..6b2f028e011abea1a885357ff89753cd1f0e4939 100644 --- a/SOL005/NSFaultManagement-API/Alarms.robot +++ b/SOL005/NSFaultManagement-API/Alarms.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSFMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem @@ -12,7 +12,7 @@ POST Alarms - Method not implemented ... Test title:POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on NFV ... Pre-conditions: none - ... Reference: clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: alarm not created @@ -24,7 +24,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure ... Pre-conditions: none - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET information about multiple alarms with filters ... Test title: GET information about multiple alarms with filters ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET information about multiple alarms Bad Request Invalid attribute-based filter ... Test title: GET information about multiple alarms Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -76,7 +76,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -90,7 +90,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -103,7 +103,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,11 +141,149 @@ DELETE Alarms - Method not implemented ... Test title: DELETE Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: alarm not deleted DELETE Alarms Check HTTP Response Status Code Is 405 + +GET information about multiple alarms as Paged Response + [Documentation] Test ID: 5.3.3.1.8 + ... Test title: GET information about multiple alarms as Paged Response + ... Test objective: The objective is to retrieve information about the alarm list as paged response. + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET information about multiple alarms - Bad Request Response too Big + [Documentation] Test ID: 5.3.3.1.9 + ... Test title: GET information about multiple alarms - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of information about the alarm list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET information about multiple alarms with filter "id" + [Documentation] Test ID: 5.3.3.1.10 + ... Test title: GET information about multiple alarms with filter "id" + ... Test objective: The objective is to retrieve information about the alarm list with filter "id" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarm With Filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id" + +GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" + [Documentation] Test ID: 5.3.3.1.11 + ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" + ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms With Filter "rootCauseFaultyComponent_faultyNestedNsInstanceId" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyComponent_faultyNestedNsInstanceId" + +GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" + [Documentation] Test ID: 5.3.3.1.12 + ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" + ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms With Filter "rootCauseFaultyComponent_faultyNsVirtualLinkInstanceId" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyNsVirtualLinkInstanceId" + +GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId" + [Documentation] Test ID: 5.3.3.1.13 + ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId" + ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyVnfInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms With Filter "rootCauseFaultyComponent_faultyVnfInstanceId" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyVnfInstanceId" +GET information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType" + [Documentation] Test ID: 5.3.3.1.14 + ... Test title: GET information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType" + ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyResource.faultyResourceType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms With Filter "rootCauseFaultyResource_faultyResourceType" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyResourceType" + +GET information about multiple alarms with filter "eventType" + [Documentation] Test ID: 5.3.3.1.15 + ... Test title: GET information about multiple alarms with filter "eventType" + ... Test objective: The objective is to retrieve information about the alarm list with filter "eventType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms with filter "eventType" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" + +GET information about multiple alarms with filter "perceivedSeverity" + [Documentation] Test ID: 5.3.3.1.16 + ... Test title: GET information about multiple alarms with filter "perceivedSeverity" + ... Test objective: The objective is to retrieve information about the alarm list with filter "perceivedSeverity" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms with filter "perceivedSeverity" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" + +GET information about multiple alarms with filter "probableCause" + [Documentation] Test ID: 5.3.3.1.17 + ... Test title: GET information about multiple alarms with filter "probableCause" + ... Test objective: The objective is to retrieve information about the alarm list with filter "probableCause" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: none + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Alarms with filter "probableCause" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" + \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/ApiVersion.robot b/SOL005/NSFaultManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..ed17827d7699818f633835e03cb8df198b699445 --- /dev/null +++ b/SOL005/NSFaultManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.3.6.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.3.6.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.3.6.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.3.6.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.3.6.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.3.6.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.3.6.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.3.6.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.3.6.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.3.6.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/IndividualAlarm.robot b/SOL005/NSFaultManagement-API/IndividualAlarm.robot index c9b40f6488032692cee273c886d239e6de183aab..50583cd9ebe857f875253f0b647139f1eb8350a0 100644 --- a/SOL005/NSFaultManagement-API/IndividualAlarm.robot +++ b/SOL005/NSFaultManagement-API/IndividualAlarm.robot @@ -2,7 +2,7 @@ # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/variables.txt Resource NSFMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem @@ -14,7 +14,7 @@ POST Individual Alarm - Method not implemented ... Test title:POST Individual Alarm - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: alarm is not created @@ -26,7 +26,7 @@ GET information about Individual Alarm ... Test title: GET information about Individual Alarm ... Test objective: The objective is to retrieve information about individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET information about Invalid Individual Alarm ... Test title: GET information about Invalid Individual Alarm ... Test objective: The objective is to try to read an Invalid individual alarm and get 404 not found response code ... Pre-conditions: The related alarm does not exists - ... Reference: clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Individual Alarm - Method not implemented ... Test title:PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Alarm ... Test title: Modify an individual alarm resource ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm modifications data structure ... Pre-conditions: The related alarm exists - ... Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Alarm - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set ... Pre-conditions: The related alarm exists - ... Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Alarm - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modifed if the resource was modified by another entity ... Pre-conditions: The related alarm exists - ... Reference: clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: @@ -104,7 +104,7 @@ DELETE Individual Alarm - Method not implemented ... Test title:DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: alarm not deleted diff --git a/SOL005/NSFaultManagement-API/IndividualSubscription.robot b/SOL005/NSFaultManagement-API/IndividualSubscription.robot index b29206227cbc25fa9b7605d8c800a7a95de872cc..bada3922c4de2d9519b24cd57fa30ee1a3d64fcf 100644 --- a/SOL005/NSFaultManagement-API/IndividualSubscription.robot +++ b/SOL005/NSFaultManagement-API/IndividualSubscription.robot @@ -3,7 +3,7 @@ Resource environment/variables.txt Resource NSFMOperationKeywords.robot Library JSONLibrary Library JSONSchemaLibrary schemas/ -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false *** Test Cases *** Post Individual Subscription - Method not implemented @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title:Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management subscription on NFV ... Pre-conditions:none - ... Reference: clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is not created @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management subscription on NFV ... Pre-conditions: none - ... Reference: clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management subscription on NFV ... Pre-conditions: none - ... Reference: clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to DELETE an individual subscription ... Pre-conditions: The Subsbcription already exists - ... Reference: clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is not deleted diff --git a/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot b/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot index 431f7c622d98e274b83b8047969e43d487aeb9df..a1c10db6a5c0504d3e697641b594b19db5dccdf0 100644 --- a/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot +++ b/SOL005/NSFaultManagement-API/NSFMOperationKeywords.robot @@ -1,12 +1,13 @@ *** Settings *** Resource environment/variables.txt -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem #Suite Teardown Terminate All Processes kill=true Library MockServerLibrary Library Process +Library Collections *** Keywords *** Create Sessions @@ -23,24 +24,24 @@ Check Individual Subscription existence Check HTTP Response Status Code Is [Arguments] ${expected_status} Log Validate Status code - Should Be Equal ${response[0]['status']} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check HTTP Response Header Contains [Arguments] ${HEADER_TOCHECK} - Should Contain ${response[0]['headers']} ${HEADER_TOCHECK} + Should Contain ${response['headers']} ${HEADER_TOCHECK} Log Header is present Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + Validate Json ${schema} ${response['body']} Log Json Schema Validation OK Check HTTP Response Header ContentType is [Arguments] ${expected_contentType} Log Validate content type - Should Be Equal ${response[0]['headers']['Content-Type']} ${expected_contentType} + Should Be Equal ${response['headers']['Content-Type']} ${expected_contentType} Log Content Type validated Check Alarm notification Endpoint has been delivered @@ -52,7 +53,7 @@ Clean Endpoint Clear Requests ${callback_endpoint} Check Operation Occurrence Id - ${occId}= Get Value From Json ${response.headers} $..Location + ${occId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${occId} POST Alarms @@ -61,7 +62,7 @@ POST Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Alarms log Trying to perform a PATCH. This method should not be implemented @@ -69,7 +70,7 @@ PATCH Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse} = Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Alarms log Trying to perform a PUT. This method should not be implemented @@ -77,7 +78,7 @@ PUT Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Alarms log Trying to perform a DELETE. This method should not be implemented @@ -85,7 +86,7 @@ DELETE Alarms Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Log Query NFVO The GET method queries information about multiple alarms. @@ -94,7 +95,7 @@ GET Alarms Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms With Filters Log Query NFVO The GET method queries information about multiple alarms with filters. @@ -103,7 +104,7 @@ GET Alarms With Filters Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${alarm_filter}=${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms With Invalid Filters Log Query NFVO The GET method queries information about multiple alarms with filters. @@ -112,7 +113,7 @@ GET Alarms With Invalid Filters Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms?${invalid_alarm_filter}=${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Alarms Task with all_fields attribute selector Log Query VNF The GET method queries information about multiple alarms, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -147,7 +148,7 @@ POST Individual Alarm Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Individual Alarm log Trying to perform a DELETE. This method should not be implemented @@ -155,7 +156,7 @@ DELETE Individual Alarm Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Individual Alarm log Trying to perform a PUT. This method should not be implemented @@ -163,7 +164,7 @@ PUT Individual Alarm Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Individual Alarm Log Query NFVO The GET method queries information about an alarm. @@ -173,7 +174,7 @@ GET Individual Alarm Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Invalid Individual Alarm Log Query NFVO The GET method queries information about an invalid alarm. Should return does not exist @@ -183,7 +184,7 @@ GET Invalid Individual Alarm Log Execute Query Get ${apiRoot}/${apiName}/${apiVersion}/alarms/${invalidAlarmId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Individual Alarm log Trying to perform a PATCH. This method modifies an individual alarm resource @@ -193,7 +194,7 @@ PATCH Individual Alarm ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Individual Alarm Conflict log Trying to perform a PATCH. This method modifies an individual alarm resource @@ -204,7 +205,7 @@ PATCH Individual Alarm Conflict ${body}= Get File jsons/alarmModifications.json Patch ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -214,7 +215,7 @@ POST Subscription ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - DUPLICATION Log Trying to create a subscription with an already created content @@ -225,7 +226,7 @@ Post Create subscription - DUPLICATION ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Post Create subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content @@ -236,7 +237,7 @@ Post Create subscription - NO-DUPLICATION ${body}= Get File jsons/fmSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions Log Get the list of active subscriptions @@ -244,7 +245,7 @@ GET Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions with filter Log Get the list of active subscriptions using a filter @@ -252,7 +253,7 @@ GET Subscriptions with filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions with Invalid filter Log Get the list of active subscriptions using an invalid filter @@ -260,7 +261,7 @@ GET Subscriptions with Invalid filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields @@ -296,7 +297,7 @@ PUT Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Subscriptions log Trying to perform a PATCH Subscriptions. This method should not be implemented @@ -304,7 +305,7 @@ PATCH Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Subscriptions log Trying to perform a DELETE Subscriptions. This method should not be implemented @@ -312,7 +313,7 @@ DELETE Subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Individual Subscription log Trying to perform a POST. This method should not be implemented @@ -320,7 +321,7 @@ POST Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Individual Subscription log Trying to get information about an individual subscription @@ -328,7 +329,7 @@ GET Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Individual Subscription log Trying to perform a PUT. This method should not be implemented @@ -336,7 +337,7 @@ PUT Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Individual Subscription log Trying to perform a PATCH. This method should not be implemented @@ -344,7 +345,7 @@ PATCH Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Individual Subscription log Trying to perform a DELETE. @@ -352,7 +353,7 @@ DELETE Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Do POST Alarm Notification Endpoint @@ -421,4 +422,194 @@ Do DELETE Notification Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Log Verifying results - Verify Mock Expectation ${req} \ No newline at end of file + Verify Mock Expectation ${req} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +GET Alarm With Filter "id" + Log Query NFVO The GET method queries information about multiple alarms with filter "id". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?id=${alarmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${alarmId} + +GET Alarms With Filter "rootCauseFaultyComponent_faultyNestedNsInstanceId" + Log Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyComponent.faultyNestedNsInstanceId=${faultyNestedNsInstanceId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyComponent_faultyNestedNsInstanceId" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['rootCauseFaultyComponent']['faultyNestedNsInstanceId']} ${faultyNestedNsInstanceId} + END + +GET Alarms With Filter "rootCauseFaultyComponent_faultyNsVirtualLinkInstanceId" + Log Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId=${faultyNsVirtualLinkInstanceId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyNsVirtualLinkInstanceId" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['rootCauseFaultyComponent']['faultyNsVirtualLinkInstanceId']} ${faultyNsVirtualLinkInstanceId} + END + +GET Alarms With Filter "rootCauseFaultyComponent_faultyVnfInstanceId" + Log Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyComponent.faultyVnfInstanceId=${faultyVnfInstanceId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyVnfInstanceId" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['rootCauseFaultyComponent']['faultyVnfInstanceId']} ${faultyVnfInstanceId} + END + +GET Alarms With Filter "rootCauseFaultyResource_faultyResourceType" + Log Query NFVO The GET method queries information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyResource.faultyResourceType=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "faultyResourceType" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['rootCauseFaultyResource']['faultyResourceType']} ${faultyResourceType} + END + +GET Alarms with filter "eventType" + Log Query VNF The GET method queries information about multiple alarms with filters "eventType". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?eventType=${eventType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['eventType']} ${eventType} + END + +GET Alarms with filter "perceivedSeverity" + Log Query VNF The GET method queries information about multiple alarms with filters "perceivedSeverity". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?perceivedSeverity=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} + END + +GET Alarms with filter "probableCause" + Log Query VNF The GET method queries information about multiple alarms with filters "probableCause". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?probableCause=${probableCause} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['probableCause']} ${probableCause} + END + +Get subscriptions with filter "id" + Log Get the list of active subscriptions using a filter "id" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?id=${subscription_id} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${subscription_id} + +Get subscriptions with filter "filter_notificationTypes" + Log Get the list of active subscriptions using a filter "filter.notificationTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.notificationTypes=${notification_type} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + :FOR ${item} IN @{response['body']} + Should Contain Match ${item['filter']['notificationTypes']} ${notification_type} case_insensitive=True + END + +Get subscriptions with filter "filter_faultyResourceTypes" + Log Get the list of active subscriptions using a filter "filter.faultyResourceTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.faultyResourceTypes=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + :FOR ${item} IN @{response['body']} + Should Contain Match ${item['filter']['faultyResourceTypes']} ${faultyResourceType} case_insensitive=True + END + +Get subscriptions with filter "filter_perceivedSeverities" + Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + :FOR ${item} IN @{response['body']} + Should Contain Match ${item['filter']['perceivedSeverities']} ${perceivedSeverity} case_insensitive=True + END + +Get subscriptions with filter "filter_eventTypes" + Log Get the list of active subscriptions using a filter "filter.eventTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.eventTypes=${eventType} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + :FOR ${item} IN @{response['body']} + Should Contain Match ${item['filter']['eventTypes']} ${eventType} case_insensitive=True + END + +Get subscriptions with filter "filter_probableCauses" + Log Get the list of active subscriptions using a filter "filter.probableCauses" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" + :FOR ${item} IN @{response['body']} + Should Contain Match ${item['filter']['probableCauses']} ${probableCause} case_insensitive=True + END diff --git a/SOL005/NSFaultManagement-API/NotificationEndpoint.robot b/SOL005/NSFaultManagement-API/NotificationEndpoint.robot index a62377335bd0cc1ccc357f097cc1e03b3c5b9d22..650bb2a7a631d04b9e0e05515800f3b1de972161 100644 --- a/SOL005/NSFaultManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSFaultManagement-API/NotificationEndpoint.robot @@ -16,7 +16,7 @@ NS Fault Alarm Notification ... Test title: NS Fault Alarm Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm Notification when a virtualised resource within an NS instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm notifications is available in the NFVO. - ... Reference: clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ NS Fault Alarm Cleared Notification ... Test title: NS Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm Cleared Notification when a faulty virtualised resource within an NS instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the NFVO. - ... Reference: clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ NS Fault Alarm List Rebuilt Notification ... Test title: NS Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm List Rebuilt Notification when the NFVO decides to rebuild the list of its NS alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the NFVO. - ... Reference: clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/SOL005-NSFaultManagement-API.json b/SOL005/NSFaultManagement-API/SOL005-NSFaultManagement-API.json deleted file mode 100644 index 78daf25f0c659dc8ba156cc1dabf89d059eebb4b..0000000000000000000000000000000000000000 --- a/SOL005/NSFaultManagement-API/SOL005-NSFaultManagement-API.json +++ /dev/null @@ -1,5305 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.0.0", - "title": "SOL005 - NS Fault Management Interface", - "description": "SOL005 - NS Fault Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - }, - "contact": { - "name": "NFV-SOL WG" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 005 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf" - }, - "basePath": "/nsfm/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/alarms": { - "get": { - "summary": "Query alarms related to NS instances.", - "description": "Get Alarm List.\nThe client can use this method to retrieve information about the alarm list.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. The following attribute names shall be supported in attribute-based filtering parameters: - id - nsInstanceId - rootCauseFaultyComponent.faultyNestedNsInstanceId - rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId - rootCauseFaultyComponent.faultyVnfInstanceId - rootCauseFaultyResource.faultyResourceType - eventType - perceivedSeverity - probableCause\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe request has succeeded. The response body shall contain the list of related alarms.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "Alarm": { - "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "rootCauseFaultyComponent", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyComponent": { - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyResourceType": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. The ResourceHandle type shall comply with the provisions defined in Table 6.5.3.54-1..\n", - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault..\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/alarms/{alarmId}": { - "parameters": [ - { - "name": "alarmId", - "description": "Identifier of the alarm. This identifier can be retrieved from the \"id\" attribute of the \"alarm\" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the \"id\" attribute of the applicable array element in the payload body of the response to a GET request to the \"Alarms\" resource.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read individual alarm.", - "description": "The client can use this method to read an individual alarm.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about an individual alarm was read successfully. The response body shall contain a representation of the individual alarm.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "properties": { - "Alarm": { - "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "rootCauseFaultyComponent", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyComponent": { - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyResourceType": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. The ResourceHandle type shall comply with the provisions defined in Table 6.5.3.54-1..\n", - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault..\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Acknowledge individual alarm.", - "description": "Acknowledge Alarm\nThis method modifies an individual alarm resource.\n", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "AlarmModifications" - ], - "properties": { - "AlarmModifications": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified according to the provisions in clause 8.5.2.4 are included in the \"AlarmModifications\" data type. The \"AlarmModifications\" data type shall comply with the provisions defined in Table 8.5.2.8-1.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: - ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - }, - "description": "The parameter for the alarm modification, as defined in clause 8.5.2.8.\n" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The Content-Type header shall be set to \"application/merge-patch+json\" according to IETF RFC 7396.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "application/merge-patch+json" - ] - } - ], - "responses": { - "200": { - "description": "200 OK\nThe request was accepted and completed. The response body shall contain attribute modifications for an 'Individual alarm' resource (see clause 8.5.2.4).\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "properties": { - "AlarmModifications": { - "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified according to the provisions in clause 8.5.2.4 are included in the \"AlarmModifications\" data type. The \"AlarmModifications\" data type shall comply with the provisions defined in Table 8.5.2.8-1.\n", - "type": "object", - "required": [ - "ackState" - ], - "properties": { - "ackState": { - "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: - ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "ACKNOWLEDGED" - ] - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the \"Individual alarm\" resource. Typically, this is due to the fact that the alarm is already in the state that is requested to be set (such as trying to acknowledge an already-acknowledged alarm). The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed.\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.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "summary": "Subscribe to alarms related to NSs.", - "description": "The POST method creates a new subscription. This method shall follow the provisions specified in the Tables 8.4.4.3.1-1 and 8.4.4.3.1-2 for URI query parameters, request and response data structures, and response codes. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate subscription resource (in which case it shall return a \"303 See Other\" response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "FmSubscriptionRequest" - ], - "properties": { - "FmSubscriptionRequest": { - "description": "This type represents a subscription request related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "required": [ - "nsdIds", - "vnfdIds", - "pnfdIds", - "nsInstanceIds" - ], - "type": "object", - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance dentifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "authentication": { - "description": "Authentication parameters to conFigure the use of Authorization when sendingnotifications corresponding to this subscription, as defined in clause 4.5.3.4. This attribute shall only be present if the subscriber requires authorization of notifications.\n", - "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\n HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n 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\n 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" - } - } - } - } - } - } - } - }, - "description": "Details of the subscription to be created, as defined in clause 8.5.2.2.\n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location:\" HTTP header that points to the created subscription resource. \n", - "schema": { - "type": "object", - "properties": { - "FmSubscription": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "required": [ - "nsdIds", - "vnfdIds", - "pnfdIds", - "nsInstanceIds" - ], - "type": "object", - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance dentifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "303": { - "description": "See Other\nA subscription with the same callbackURI and the same filter already exits and the policy of the NFVO is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP eader that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Query multiple subscriptions.", - "description": "Query Subscription Information\nThe client can use this method to retrieve the list of active subscriptions for alarms related to a NS subscribed by the client. It can be used e.g. for resynchronization after error situations.\nThis method shall follow the provisions specified in the Tables 8.4.4.3.2-1 and 8.4.4.3.2-2 for URI query parameters, request and response data structures, and response codes. Table 8.4.4.3.2-1: URI query parameters supported.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported in attribute-based filtering parameters. \n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "FmSubscription": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "required": [ - "nsdIds", - "vnfdIds", - "pnfdIds", - "nsInstanceIds" - ], - "type": "object", - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance dentifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request Invalid attribute-based filtering parameters or Invalid attribute selector. It the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed.\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.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read an individual subscription.", - "description": "Query Subscription Information\nThe client can use this method for reading an individual subscription for alarms related to NSs subscribed by the client. This method shall follow the provisions specified in the Tables 8.4.5.3.2-1 and 8.4.5.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "properties": { - "FmSubscription": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "required": [ - "nsdIds", - "vnfdIds", - "pnfdIds", - "nsInstanceIds" - ], - "type": "object", - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance dentifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Terminate a subscription.", - "description": "Terminate Subscription\n \nThis method terminates an individual subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 - No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the NSD, the NFVO shall respond with this response code. The \"ProblemDetails\" structure may be included with the \"detail\" attribute providing more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification": { - "post": { - "summary": "Notify about NS alarms", - "description": "The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt.\n", - "parameters": [ - { - "name": "alarmNotification", - "description": "Information of a NS alarm.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "AlarmNotification": { - "description": "This type represents an alarm notification about NS faults.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarm", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmClearedNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarm": { - "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "rootCauseFaultyComponent", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyComponent": { - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyResourceType": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "required": [ - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. The ResourceHandle type shall comply with the provisions defined in Table 6.5.3.54-1..\n", - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault..\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - }, - "alarmClearedTime": { - "description": "The time stamp indicating when the alarm was cleared.\n" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "alarm" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "alarm": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully. The response body shall be empty. \n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification": { - "post": { - "summary": "Notify about NS alarms", - "description": "The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt.\n", - "parameters": [ - { - "name": "alarmClearedNotification", - "description": "Information of the clearance of a NS alarm.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "AlarmClearedNotification": { - "description": "This type represents an alarm cleared notification about VNF faults. The notification shall be triggered by the VNFM when an alarm has been cleared.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarmId", - "alarmClearedTime", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmClearedNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmClearedNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "alarmClearedTime": { - "description": "The time stamp indicating when the alarm was cleared.\n" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "alarm" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "alarm": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification": { - "post": { - "summary": "Notify about NS alarms", - "description": "The POST method notifies an alarm related to a NS or that the alarm list has been rebuilt.\n", - "parameters": [ - { - "name": "AlarmListRebuiltNotification", - "description": "Information that the alarm list has been rebuilt by the NFVO.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "AlarmListRebuiltNotification": { - "description": "This type represents a notification that the alarm list has been rebuilt, e.g. if the VNFM detects its storage holding the alarm list is corrupted. The notification shall be triggered by the VNFM when the alarm list has been rebuilt.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmListRebuiltNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmListRebuiltNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "alarms" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "alarms": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully. The response body shall be empty. \n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "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": { - "summary": "Test the notification endpoint", - "description": "The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification endpoint was tested successfully. The response body shall be empty. \n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "statussss", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index 960ac1b105bf583a589ddc0de4269a5b18e0e6f7..0fb8ac8ce425cbfce51b1b0e277ed8204950b691 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSFMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -13,7 +13,7 @@ Create a new alarm subscription ... Test title: Create a new alarm subscription ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ Create a new alarm subscription - DUPLICATION ... Test title: Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure.. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: none @@ -42,21 +42,20 @@ Create a new alarm subscription - NO DUPLICATION ... Test title: Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the NFV not allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: none Post Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - Check HTTP Response Body Json Schema Is FmSubscription Retrieve a list of alarm subscriptions [Documentation] Test ID: 5.3.3.3.4 ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +68,7 @@ Retrieve a list of alarm subscriptions - Filter ... Test title: Retrieve a list of alarm subscriptions - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -82,7 +81,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective:The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -95,7 +94,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -108,7 +107,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -121,7 +120,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -134,7 +133,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -147,7 +146,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: clause 8.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -159,7 +158,7 @@ PATCH subscriptions - Method not implemented ... Test title:PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: clause 8.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -171,9 +170,119 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: clause 8.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 8.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is not deleted DELETE Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +Retrieve a list of alarm subscriptions as Paged Response + [Documentation] Test ID: 5.3.3.3.14 + ... Test title: Retrieve a list of alarm subscriptions as Paged Response + ... Test objective: The objective is to retrieve the list of active subscriptions as paged response. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.3.3.15 + ... Test title: GET subscriptions - Bad Request Response too Big + ... Test objective:The objective is test that the retrieval of active subscriptions list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +Retrieve a list of alarm subscriptions with filter "id" + [Documentation] Test ID: 5.3.3.3.16 + ... Test title: Retrieve a list of alarm subscriptions with filter "id" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + +Retrieve a list of alarm subscriptions with filter "filter.notificationTypes" + [Documentation] Test ID: 5.3.3.3.17 + ... Test title: Retrieve a list of alarm subscriptions with filter "filter.notificationTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "filter_notificationTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + +Retrieve a list of alarm subscriptions with filter "filter.faultyResourceTypes" + [Documentation] Test ID: 5.3.3.3.18 + ... Test title: Retrieve a list of alarm subscriptions with filter "filter.faultyResourceTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "filter_faultyResourceTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + +Retrieve a list of alarm subscriptions with filter "filter.perceivedSeverities" + [Documentation] Test ID: 5.3.3.3.19 + ... Test title: Retrieve a list of alarm subscriptions with filter "filter.perceivedSeverities" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "filter_perceivedSeverities" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + +Retrieve a list of alarm subscriptions with filter "filter.eventTypes" + [Documentation] Test ID: 5.3.3.3.20 + ... Test title: Retrieve a list of alarm subscriptions with filter "filter.eventTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "filter_eventTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + +Retrieve a list of alarm subscriptions with filter "filter.probableCauses" + [Documentation] Test ID: 5.3.3.3.21 + ... Test title: Retrieve a list of alarm subscriptions with filter "filter.probableCauses" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. + ... Pre-conditions: none + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get subscriptions with filter "filter_probableCauses" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/environment/variables.txt b/SOL005/NSFaultManagement-API/environment/variables.txt index 281669313364190cdf8f6c5c5e6f714cdceeaf93..7f86938c5d15e5aeb5f9385cd0968651d1e99286 100644 --- a/SOL005/NSFaultManagement-API/environment/variables.txt +++ b/SOL005/NSFaultManagement-API/environment/variables.txt @@ -21,6 +21,14 @@ ${fields} criteria,objectInstanceIds ${VNFM_ALLOWS_DUPLICATE_SUBS} 0 ${alarmId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d +${faultyNestedNsInstanceId} faultyNestedNsInstanceId +${faultyNsVirtualLinkInstanceId} faultyNsVirtualLinkInstanceId +${faultyVnfInstanceId} faultyVnfInstanceId +${faultyResourceType} COMPUTE +${eventType} COMMUNICATIONS_ALARM +${perceivedSeverity} CRITICAL +${probableCause} + ${invalidAlarmId} invalidAlramID ${Etag}= an etag ${Etag_modified}= a modified etag @@ -32,6 +40,7 @@ ${sub_filter} filter ${sub_filter_invalid} filter_invalid ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f +${notification_type} AlarmNotification ${AlarmNotification} {} ${AlarmClearedNotification} {} diff --git a/SOL005/NSFaultManagement-API/schemas/ApiVersionInformation.schema.json b/SOL005/NSFaultManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL005/NSFaultManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FaultyComponentInfo.schema.json b/SOL005/NSFaultManagement-API/schemas/FaultyComponentInfo.schema.json deleted file mode 100644 index 82ed52cdf2b950c84cb08b2d98eff7e6c6ca4630..0000000000000000000000000000000000000000 --- a/SOL005/NSFaultManagement-API/schemas/FaultyComponentInfo.schema.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "Identifier of the faulty nested NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "faultyResourceType": { - "description": "Identifier of the faulty NS virtual link instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "Identifier of the faulty VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - } -} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FaultyResourceInfo.schema.json b/SOL005/NSFaultManagement-API/schemas/FaultyResourceInfo.schema.json deleted file mode 100644 index aa8a25700e044851dcb960c0e683dd3e4e61a24d..0000000000000000000000000000000000000000 --- a/SOL005/NSFaultManagement-API/schemas/FaultyResourceInfo.schema.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", - "type": "object", - "required": [ - "faultyResource", - "faultyResourceType" - ], - "properties": { - "faultyResource": { - "description": "Information that identifies the faulty resource instance and its managing entity.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "faultyResourceType": { - "description": "Type of the faulty resource.\n", - "$ref": "#/definitions/FaultyResourceType" - } - } -} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FaultyResourceType.schema.json b/SOL005/NSFaultManagement-API/schemas/FaultyResourceType.schema.json deleted file mode 100644 index cf11253865903458b4e25d2c78307ac7d65f0f8c..0000000000000000000000000000000000000000 --- a/SOL005/NSFaultManagement-API/schemas/FaultyResourceType.schema.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] -} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FmNotificationsFilter.schema.json b/SOL005/NSFaultManagement-API/schemas/FmNotificationsFilter.schema.json deleted file mode 100644 index 9028c5c382b7175baf46864e19428ba389e0a09d..0000000000000000000000000000000000000000 --- a/SOL005/NSFaultManagement-API/schemas/FmNotificationsFilter.schema.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "Filter criteria to select NS instances about which to notify. \n", - "$ref": "SOL005_def.yaml#/definitions/NsInstanceSubscriptionFilter" - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "#/definitions/FaultyResourceType" - } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "#/definitions/PerceivedSeverityType" - } - }, - "eventTypes": { - "description": "Match VNF alarms with an event type listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "#/definitions/EventType" - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } -} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json b/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json index 742629d2f6ae1ea12c538edacb8ddd0b5d0a046a..d17abe71dbae59997e38d9447fc60912299beef5 100644 --- a/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json @@ -8,12 +8,123 @@ ], "properties": { "id": { - "description": "Identifier of this subscription resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "filter": { - "description": "Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.\n", - "$ref": "#/definitions/FmNotificationsFilter" + "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "AlarmNotification", + "AlarmClearedNotification", + "AlarmListRebuiltNotification" + ] + } + }, + "faultyResourceTypes": { + "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + }, + "perceivedSeverities": { + "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + "type": "array", + "items": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + } + }, + "eventTypes": { + "description": "Match VNF alarms related to NSs with an event type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + } + }, + "probableCauses": { + "description": "Match VNF alarms with a probable cause listed in this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + } + } }, "callbackUri": { "description": "The URI of the endpoint to send the notification to.\n", @@ -28,8 +139,18 @@ ], "properties": { "self": { - "description": "URI of this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } } } } diff --git a/SOL005/NSFaultManagement-API/schemas/FmSubscriptionRequest.schema.json b/SOL005/NSFaultManagement-API/schemas/FmSubscriptionRequest.schema.json deleted file mode 100644 index 9d5504e990da507378c7efd696952c995a1b26f4..0000000000000000000000000000000000000000 --- a/SOL005/NSFaultManagement-API/schemas/FmSubscriptionRequest.schema.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "description": "This type represents a subscription request related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.\n", - "$ref": "#/definitions/FmNotificationsFilter" - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "authentication": { - "description": "Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription. This attribute shall only be present if the subscriber requires authorization of notifications.\n", - "$ref": "SOL005_def.yaml#/definitions/SubscriptionAuthentication" - } - } -} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json b/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..46b130a9098ad5dee4381c040d23241c9d595b9c --- /dev/null +++ b/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json @@ -0,0 +1,161 @@ +{ + "type": "array", + "item": { + "description": "This type represents a subscription related to notifications about VNF faults.\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. 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": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "AlarmNotification", + "AlarmClearedNotification", + "AlarmListRebuiltNotification" + ] + } + }, + "faultyResourceTypes": { + "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + }, + "perceivedSeverities": { + "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + "type": "array", + "items": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + } + }, + "eventTypes": { + "description": "Match VNF alarms related to NSs with an event type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + } + }, + "probableCauses": { + "description": "Match VNF alarms with a probable cause listed in this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "callbackUri": { + "description": "The URI of the endpoint to send the notification to.\n", + "type": "string", + "format": "url" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/alarm.schema.json b/SOL005/NSFaultManagement-API/schemas/alarm.schema.json index d03d487a9f2dbce7928e5c5de5e2d79b99fa40f4..b51ab8c36db47adcb5a58d724571d4c0d62398b3 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarm.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarm.schema.json @@ -16,32 +16,86 @@ ], "properties": { "id": { - "description": "Identifier of this Alarm information element.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "managedObjectId": { - "description": "Identifier of the affected NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "rootCauseFaultyComponent": { - "description": "The NS components that are causing the NS fault.\n", - "$ref": "#/definitions/FaultyComponentInfo" + "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", + "type": "object", + "properties": { + "faultyNestedNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyResourceType": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyNsVirtualLinkInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } }, "rootCauseFaultyResource": { - "description": "The virtualised resources that are causing the NS fault. It shall be present when the faulty component is \"NS Virtual Link\" or \"VNF\".\n", - "$ref": "#/definitions/FaultyResourceInfo" + "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + "type": "object", + "required": [ + "faultyResource", + "faultyResourceType" + ], + "properties": { + "faultyResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", + "type": "string" + } + } + }, + "faultyResourceType": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + } }, "alarmRaisedTime": { - "description": "Alarm identifier.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "alarmChangedTime": { - "description": "The time stamp indicating when the alarm was cleared.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "alarmClearedTime": { - "description": "Links to resources related to this notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "ackState": { "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", @@ -52,16 +106,31 @@ ] }, "perceivedSeverity": { - "description": "Perceived severity of the managed object failure.\n", - "$ref": "#/definitions/PerceivedSeverityType" + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] }, "eventTime": { - "description": "Time stamp indicating when the fault was observed.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "eventType": { - "description": "Type of event.\n", - "$ref": "#/definitions/EventType" + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] }, "faultType": { "description": "Additional information to clarify the type of the fault.\n", @@ -79,7 +148,8 @@ "description": "List of identifiers of other alarms correlated to this fault.\n", "type": "array", "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } }, "faultDetails": { @@ -94,11 +164,17 @@ ], "properties": { "self": { - "description": "URI of this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link", - "objectInstance": { - "description": "Link to the resource representing the NS instance to which the notified alarm is correlated. Shall be present if the NS instance information is accessible as a resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } } } } diff --git a/SOL005/NSFaultManagement-API/schemas/alarmClearedNotification.schema.json b/SOL005/NSFaultManagement-API/schemas/alarmClearedNotification.schema.json index 76cf76389745416d482e8b55ee63e6a779316492..8e1a4728aec3450579fef252b66589ed830f35cd 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarmClearedNotification.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarmClearedNotification.schema.json @@ -1,5 +1,5 @@ { - "description": "This type represents an alarm cleared notification about VNF faults. The notification shall be triggered by the VNFM when an alarm has been cleared.\n", + "description": "This type represents an alarm cleared notification about VNF faults. The notification shall be triggered by the VNFM when an alarm has been cleared.", "type": "object", "required": [ "id", @@ -12,8 +12,8 @@ ], "properties": { "id": { - "description": "Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the \"id\" attribute of all these notifications shall have the same value.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmClearedNotification\" for this notification type.\n", @@ -23,16 +23,16 @@ ] }, "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "timeStamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "alarmId": { - "description": "Alarm identifier.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "alarmClearedTime": { "description": "The time stamp indicating when the alarm was cleared.\n" @@ -46,12 +46,32 @@ ], "properties": { "subscription": { - "description": "Link to the related subscription.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } }, "alarm": { - "description": "Link to the resource that represents the related alarm.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } } } } diff --git a/SOL005/NSFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json b/SOL005/NSFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json index 9e02b73614ab05d44fe97b301138bfc24df67727..94d369cdb2dd1ce05571513125bc2f7c83c17a1d 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarmListRebuiltNotification.schema.json @@ -10,8 +10,8 @@ ], "properties": { "id": { - "description": "Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the \"id\" attribute of all these notifications shall have the same value.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmListRebuiltNotification\" for this notification type.\n", @@ -21,12 +21,12 @@ ] }, "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "timeStamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "_links": { "description": "Links to resources related to this notification.\n", @@ -37,12 +37,32 @@ ], "properties": { "subscription": { - "description": "Link to the related subscription.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } }, "alarms": { - "description": "Link to the alarm list, i.e. the \"Alarms\" resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } } } } diff --git a/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json b/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json index f2e1c9ed9634f28923046cc32ffa872ed03ee837..82358b6de495dc2574a046a304590ae7632e4c36 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json @@ -11,8 +11,8 @@ ], "properties": { "id": { - "description": "Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the \"id\" attribute of all these notifications shall have the same value.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "notificationType": { "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", @@ -22,16 +22,195 @@ ] }, "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, "timeStamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" }, "alarm": { - "description": "Information about an alarm including AlarmId, affected NS identifier, and FaultDetails.\n", - "$ref": "#/definitions/Alarm" + "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", + "type": "object", + "required": [ + "id", + "managedObjectId", + "alarmRaisedTime", + "rootCauseFaultyComponent", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "managedObjectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rootCauseFaultyComponent": { + "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", + "type": "object", + "properties": { + "faultyNestedNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyResourceType": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyNsVirtualLinkInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + }, + "rootCauseFaultyResource": { + "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + "type": "object", + "required": [ + "faultyResource", + "faultyResourceType" + ], + "properties": { + "faultyResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", + "type": "string" + } + } + }, + "faultyResourceType": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + } + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", + "type": "string", + "enum": [ + "UNACKNOWLEDGED", + "ACKNOWLEDGED" + ] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault.\n", + "type": "string" + }, + "probableCause": { + "description": "Information about the probable cause of the fault.\n", + "type": "string" + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault..\n", + "type": "string" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } }, "alarmClearedTime": { "description": "The time stamp indicating when the alarm was cleared.\n" @@ -45,12 +224,32 @@ ], "properties": { "subscription": { - "description": "Link to the related subscription.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } }, "alarm": { - "description": "Link to the resource that represents the related alarm.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } } } } diff --git a/SOL005/NSFaultManagement-API/schemas/alarms.schema.json b/SOL005/NSFaultManagement-API/schemas/alarms.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..284a1fa1c95e4dadef4b13c480234e41199410fa --- /dev/null +++ b/SOL005/NSFaultManagement-API/schemas/alarms.schema.json @@ -0,0 +1,186 @@ +{ + "type": "array", + "items": { + "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", + "type": "object", + "required": [ + "id", + "managedObjectId", + "alarmRaisedTime", + "rootCauseFaultyComponent", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "managedObjectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rootCauseFaultyComponent": { + "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", + "type": "object", + "properties": { + "faultyNestedNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyResourceType": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyNsVirtualLinkInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + }, + "rootCauseFaultyResource": { + "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + "type": "object", + "required": [ + "faultyResource", + "faultyResourceType" + ], + "properties": { + "faultyResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", + "type": "string" + } + } + }, + "faultyResourceType": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + } + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", + "type": "string", + "enum": [ + "UNACKNOWLEDGED", + "ACKNOWLEDGED" + ] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault.\n", + "type": "string" + }, + "probableCause": { + "description": "Information about the probable cause of the fault.\n", + "type": "string" + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault..\n", + "type": "string" + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/ApiVersion.robot b/SOL005/NSLifecycleManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..77e6bc6bf7f1ad6a69b2c1b734085de3a4665acc --- /dev/null +++ b/SOL005/NSLifecycleManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.2.25.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.2.25.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.2.25.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.2.25.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.2.25.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.2.25.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.2.25.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.2.25.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.2.25.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.2.25.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK diff --git a/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot b/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot index 046f36012a06f2a6249a5cb83ac9963bbf53f27c..26407a2d284b4b24ff67a2f3add146f48d063b62 100644 --- a/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -13,7 +13,7 @@ POST Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The objective is to test that POST method cancel the NS LCM operation ... Pre-conditions: NS instance status equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Cancel operation task Not Found ... Test title: POST Cancel operation task Not Found ... Test objective: The objective is to test that POST method fail completing the Cancel NS LCM operation if the resource is not found ... Pre-conditions: none - ... Reference: clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Cancel operation task Conflict ... Test title: POST Cancel operation task Conflict ... Test objective: The objective is to test that POST method fail if a status conflict exist on the NS LCM operation. (i.e. NS instance status not equal to STARTING, PROCESSING or ROLLING_BACK) ... Pre-conditions: NS instance status not equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.15.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.15.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.15.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.15.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.15.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot index 2d9f11583ae7c7439b5c7eba2da8f9aeea0bf34f..54b22eae5838c2aca8d1ad6ecbcaa352f2a2521d 100644 --- a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -13,7 +13,7 @@ POST Continue operation task ... Test title: POST Continue operation task ... Test objective: The objective is to test that POST method trigger a continue on the LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Continue operation task Not Found ... Test title: POST Continue operation task Not Found ... Test objective: The objective is to test that POST method cannot perform a continue operation task because the resource is not found ... Pre-conditions: none - ... Reference: clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Continue operation task Conflict ... Test title: POST Continue operation task Conflict ... Test objective: The objective is to test that POST method fail in case of operation status conflict (i.e. NS instance status not equal to FAILED_TEMP ) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Continue operation task - Method not implemented ... Test title: GET Continue operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.13.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.13.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,11 +60,11 @@ GET Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 PUT Continue operation task - Method not implemented - [Documentation] Test ID: 5.3.2.13.5 + [Documentation] Test ID: 5.3.2.12.5 ... Test title: PUT Continue operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.13.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.13.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -72,11 +72,11 @@ PUT Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 PATCH Continue operation task - Method not implemented - [Documentation] Test ID: 5.3.2.13.5 + [Documentation] Test ID: 5.3.2.12.6 ... Test title: PATCH Continue operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,16 +84,13 @@ PATCH Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 DELETE Continue operation task - Method not implemented - [Documentation] Test ID: 5.3.2.13.5 + [Documentation] Test ID: 5.3.2.12.7 ... Test title: DELETE Continue operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none DELETE Continue operation task - Check HTTP Response Status Code Is 405 - - - \ No newline at end of file + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot index db919f10f424613dd2394dff5d8d97a520526c07..9092991e18f3d77c9af4d5c115d96e77bf383ecd 100644 --- a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -10,11 +10,11 @@ Library JSONSchemaLibrary schemas/ *** Test Cases *** NS Instance Creation - [Documentation] Test ID: 5.3.2.17 + [Documentation] Test ID: 5.3.2.18.1 ... Test title: NS Instance Creation ... Test objective: The objective is to test the workflow for Creating a NS instance ... Pre-conditions: none - ... Reference: clause 6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management operation occurrence is in NOT_ISTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot index 38ca80c7f4900674b792245d3e861afb8c19ea28..480600cca790a8577baa6e5f49fb261f2baac2d6 100644 --- a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot @@ -1,22 +1,23 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ *** Test Cases *** NS Instance Deletion - [Documentation] Test ID: 5.3.2.18 + [Documentation] Test ID: 5.3.2.19.1 ... Test title: NS Instance Deletion ... Test objective: The objective is to test the workflow for Deleting a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: NS Instance resource is deleted Check resource not_instantiated DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 - Check HTTP Response Body Json Schema Is NsIdentifierDeletionNotification \ No newline at end of file + Check HTTP Response Body Json Schema Is NsIdentifierDeletionNotification + Check Instance Deleted \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/FailOperationTask.robot b/SOL005/NSLifecycleManagement-API/FailOperationTask.robot index 476384157ec0870ce65ce2bce3f575d03655f0ca..5ad6c92e51a286aab88fc97e17dd0a2d833e62b1 100644 --- a/SOL005/NSLifecycleManagement-API/FailOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/FailOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -13,7 +13,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method trigger a state change to "finally failed" on the NS LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Fail operation task Not Found ... Test title: POST Fail operation task Not Found ... Test objective: The objective is to test that POST method fail if the NS LCM resource is not found ... Pre-conditions: none - ... Reference: clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Fail operation task Conflict ... Test title: POST Fail operation task Conflict ... Test objective: The objective is to test that POST method fail in case of status conflict on the NS LCM operation (i.e NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Fail operation task - Method not implemented ... Test title: PATCH Fail operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/HealNSTask.robot b/SOL005/NSLifecycleManagement-API/HealNSTask.robot index ee2e37f89c07627816e2f89e6f92ab9a0f20a646..379ed397b0ea9cf71738ca02773a241366936df7 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Heal a NSInstance ... Test title: POST Heal a NSInstance ... Test objective: The objective is to test that POST method trigger a Heal NS instance ... Pre-conditions: resource status is not in NOT_INSTANTIATED state - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Heal a NSInstance Conflict ... Test title: POST Heal a NSInstance Conflict ... Test objective: The objective is to test that POST method fail if NS instance is not in NOT_INSTANTIATE state ... Pre-conditions: resource status is in NOT_INSTANTIATED state - ... Reference: clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Heal NSInstance- Method not implemented ... Test title: GET Heal NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Heal NSInstance - Method not implemented ... Test title: PUT Heal NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -59,11 +59,11 @@ PUT Heal NSInstance - Method not implemented Check HTTP Response Status Code Is 405 PATCH Heal NSInstance - Method not implemented - [Documentation] Test ID: 5.3.2.6.4 + [Documentation] Test ID: 5.3.2.6.5 ... Test title: PATCH Heal NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,11 +71,11 @@ PATCH Heal NSInstance - Method not implemented Check HTTP Response Status Code Is 405 DELETE Heal NSInstance - Method not implemented - [Documentation] Test ID: 5.3.2.6.4 + [Documentation] Test ID: 5.3.2.6.6 ... Test title: DELETE Heal NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot index 5f9018bb4a7c3a286f215c08dac2f84d12a097e7..0663a9f2b16e31dcc394a51a63da61536a30734b 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -10,14 +10,14 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Heal Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.19 + [Documentation] Test ID: 5.3.2.20.1 ... Test title: Heal Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Healing a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: NS Instance still in INSTANTIATED state Check resource instantiated POST Heal NSInstance Check HTTP Response Status Code Is 202 diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot index c4a19e193c4f6142d5a32d32d48799a8c0a5f68a..bcc46e91bdf18b70b65b3a2f6e1421274b12a360 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,19 +13,20 @@ POST Individual NSInstance - Method not implemented ... Test title: POST Individual NSInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not created on the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not created POST IndividualNSInstance Check HTTP Response Status Code Is 405 + Check Postcondition NS Instance is not created GET Information about an individual NS Instance [Documentation] Test ID: 5.3.2.2.2 ... Test title: GET Information about an individual NS Instance ... Test objective: The objective is to test that GET method returns an individual NS instance ... Pre-conditions: none - ... Reference: clause 6.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,46 +39,50 @@ PUT Individual NSInstance - Method not implemented ... Test title: PUT Individual NSInstance - Method not implemented ... Test objective: TThe objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not modified on the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not modified PUT IndividualNSInstance Check HTTP Response Status Code Is 405 + Check Postcondition NS Instance is not modified PATCH Individual NSInstance - Method not implemented [Documentation] Test ID: 5.3.2.2.4 ... Test title: PATCH Individual NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not modified on the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not modified PATCH IndividualNSInstance Check HTTP Response Status Code Is 405 + Check Postcondition NS Instance is not modified DELETE Individual NSInstance [Documentation] Test ID: 5.3.2.2.5 ... Test title: DELETE Individual NSInstance ... Test objective: The objective is to test that DELETE method delete a not INSTANTIATED NS instance ... Pre-conditions: NS instance is not INSTANTIATED . - ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is deleted from the NFVO + ... Post-Conditions: Check Postcondition NS Instance is deleted DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 + Check Postcondition NS Instance is deleted DELETE Individual NSInstance Conflict [Documentation] Test ID: 5.3.2.2.6 ... Test title: DELETE Individual NSInstance Conflict ... Test objective: The objective is to test that DELETE method cannot delete an INSTANTIATED NS instance ... Pre-conditions: one instance of a NS in INSTANTIATED state - ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not deleted from the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not deleted DELETE IndividualNSInstance Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails + Check Postcondition NS Instance is not deleted diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot b/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot index d2599ae528adf88c31e328b1ce686555cecc4ed6..17046cc9ab2781d2e74a6323af0dc73cd069cfdb 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ Post Individual NS LCM occurrences - Method not implemented ... Test title: Post Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not created in the NFVO @@ -24,7 +24,7 @@ Get status information about Individual NS LCM occurrences ... Test title: Get status information about Individual NS LCM occurrences ... Test objective: The objective is to test that GET method returns the LCM occurrence of the NS ... Pre-conditions: none - ... Reference: clause 6.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT status information about Individual NS LCM occurrences - Method not implemen ... Test title: PUT status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not modified from the NFVO @@ -49,7 +49,7 @@ PATCH status information about Individual NS LCM occurrences - Method not implem ... Test title: PATCH status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not modified from the NFVO @@ -61,7 +61,7 @@ DELETE status information about Individual NS LCM occurrences - Method not imple ... Test title: DELETE status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not deleted from the NFVO diff --git a/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot b/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot index c0de7439cfdb4f2d8672b8bf0982ec48049ad6b1..9d5a165b36eee094d742860bf1049d5ab5668581 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -14,7 +14,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.17.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.17.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management subscription is not created on the NFVO @@ -26,7 +26,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to test the retrieval of NS lifecycle management subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: TThe objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.17.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.17.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management subscription is not modified by the operation @@ -51,7 +51,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.17.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.17.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management subscription is not modified by the operation @@ -63,7 +63,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: At least one lifecycle management subscription is available in the NFVO - ... Reference: clause 6.4.17.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.17.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management subscription is not available anymore on NFVO diff --git a/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot index 8535a8a82724bdc31ad7be1dd23596b336cfbe86..f3357abb4b7970fb036680886c786acf3451d948 100644 --- a/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -10,11 +10,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Instantiate Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.20 + [Documentation] Test ID: 5.3.2.21.1 ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: clause 6.4.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot b/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot index 493e7e3aa3a1087636336aaf43219a44bba401d0..0fa8de84e57673b4aa76252481a8710db28b51a8 100644 --- a/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Instantiate a nsInstance ... Test title: POST Instantiate a nsInstance ... Test objective: The objective is to test that POST method instantiate a new NS instance ... Pre-conditions: none - ... Reference: clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is instantiated on the NFVO @@ -27,7 +27,7 @@ POST Instantiate a nsInstance Conflict ... Test title: POST Instantiate a nsInstance Conflict ... Test objective: The objective is to test that the operation cannot be performed due to a conflict with the state of resource (i.e. the resource is in INSTANTIATED state) ... Pre-conditions: resource is in INSTANTIATED state - ... Reference: clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not instantiated on the NFVO @@ -41,7 +41,7 @@ GET Instantiate NSInstance - Method not implemented ... Test title: GET Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -53,7 +53,7 @@ PUT Instantiate NSInstance - Method not implemented ... Test title: PUT Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -65,7 +65,7 @@ PATCH Instantiate NSInstance - Method not implemented ... Test title: PATCH Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -77,7 +77,7 @@ DELETE Instantiate NSInstance - Method not implemented ... Test title: DELETE Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index be75709a5efd64b0d66d92e6b47804743a6ba7ee..3d579f4ccf09335dcd3d5e96c74ca4b1df05c37d 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST Create a new NsInstance ... Test title: POST Create a new NsInstance ... Test objective: The objective is to test the creation of a new Ns Instances and perform a JSON schema validation of the collected instance data structure ... Pre-conditions: None. - ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: A Ns instance is instantiated. @@ -26,7 +26,7 @@ GET information about multiple NS instances ... Test title: GET information about multiple NS instances ... Test objective: The objective is to test the retrieval of all the available NS Instances and perform a JSON schema and content validation of the collected instance data structure ... Pre-conditions: An existing Ns instance. - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -38,8 +38,8 @@ GET information about multiple NS instances Bad Request Invalid attribute-based [Documentation] Test ID: 5.3.2.1.3 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test the retrieval of all the available NS Instances using attribute-based filter and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad filter parameter (filter parameters are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.4.1). - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Pre-conditions: A Ns instance is instantiated, a bad filter parameter (filter parameters are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.6.1). + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -51,8 +51,8 @@ GET information about multiple NS instances Bad Request Invalid attribute select [Documentation] Test ID: 5.3.2.1.4 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute selector ... Test objective: The objective is to test the retrieval of all the available NS Instances using attribute-based filter and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.4.1). - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.6.1). + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -64,59 +64,59 @@ GET NSInstances with "all_fields" attribute selector ... Test title: GET NSInstances with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: Get NSInstances with all_fields attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances GET NSInstances with "exclude_default" attribute selector [Documentation] Test ID: 5.3.2.1.6 ... Test title: GET NSInstances with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: Get NSInstances with exclude_default attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances GET NSInstances with "fields" attribute selector [Documentation] Test ID: 5.3.2.1.7 ... Test title: GET NSInstances with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: Get NSInstances with fields attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances GET NSInstances with "exclude_fields" attribute selector [Documentation] Test ID: 5.3.2.1.8 ... Test title: GET NSInstances with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: Get NSInstances with exclude_fields attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances PUT NSInstances - Method not implemented [Documentation] Test ID: 5.3.2.1.9 ... Test title: PUT Individual NS instance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not modified by the operation @@ -128,7 +128,7 @@ PATCH NSInstances - Method not implemented ... Test title: PATCH NSInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not modified by the operation @@ -140,9 +140,35 @@ DELETE NSInstances - Method not implemented ... Test title: DELETE NSInstances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not deleted by the operation DELETE NSInstances - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +GET information about multiple NS instances as Paged Response + [Documentation] Test ID: 5.3.2.1.12 + ... Test title: GET information about multiple NS instances as Paged Response + ... Test objective: The objective is to test the retrieval of all the available NS Instances as a Paged Response. + ... Pre-conditions: An existing Ns instance. + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none. + ... Post-Conditions: none. + GET NsInstances + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET information about multiple NS instances - Bad Request Response too Big + [Documentation] Test ID: 5.3.2.1.13 + ... Test title: GET information about multiple NS instances - Bad Request Response too Big + ... Test objective: The objective is to test the retrieval of all the available NS Instances fails because reponse is too big, and perform a JSON schema and content validation of the collected instance data structure + ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.6.1). + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none. + ... Post-Conditions: none. + GET NsInstances + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot b/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot index 7d8399e61fd3c9943e4bf9ae1fde980c2f22c9fe..7256db753ca26dd9a597184a7fc04f9b116865e3 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST NS LCM occurrences - Method not implemented ... Test title: POST NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET status information about multiple NS LCM occurrences ... Test title: GET status information about multiple NS LCM occurrences ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET status information about multiple NS LCM occurrences Bad Request Invalid att ... Test title: GET status information about multiple NS LCM occurrences Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail because of wrong query parameter ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid filter parameter - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET status information about multiple NS LCM occurrences Bad Request Invalid att ... Test title: GET status information about multiple NS LCM occurrences Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail because of wrong attributes selector ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid attribute selector - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET status information about multiple NS LCM occurrences with "all_fields" ... Test title: GET status information about multiple NS LCM occurrences with "all_fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ GET status information about multiple NS LCM occurrences with "exclude_default" ... Test title: GET status information about multiple NS LCM occurrences with "exclude_default" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET status information about multiple NS LCM occurrences with "fields" ... Test title: GET status information about multiple NS LCM occurrences with "fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET status information about multiple NS LCM occurrences with "exclude_fields" ... Test title: GET status information about multiple NS LCM occurrences with "exclude_fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,11 +111,11 @@ GET status information about multiple NS LCM occurrences with "exclude_fields" Check HTTP Response Body Json Schema Is NsLcmOpOccs PUT status information about multiple NS LCM occurrences - Method not implemented - [Documentation] Test ID: 5.3.2.8.5 + [Documentation] Test ID: 5.3.2.8.9 ... Test title: PUT status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,11 +123,11 @@ PUT status information about multiple NS LCM occurrences - Method not implemente Check HTTP Response Status Code Is 405 PATCH status information about multiple NS LCM occurrences - Method not implemented - [Documentation] Test ID: 5.3.2.8.6 + [Documentation] Test ID: 5.3.2.8.10 ... Test title: PATCH status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,14 +135,39 @@ PATCH status information about multiple NS LCM occurrences - Method not implemen Check HTTP Response Status Code Is 405 DELETE status information about multiple NS LCM occurrences - Method not implemented - [Documentation] Test ID: 5.3.2.8.7 + [Documentation] Test ID: 5.3.2.8.11 ... Test title: DELETE status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none DELETE NS LCM OP Occurrences Check HTTP Response Status Code Is 405 +GET status information about multiple NS LCM occurrences as Paged Response + [Documentation] Test ID: 5.3.2.8.12 + ... Test title: GET status information about multiple NS LCM occurrences as Paged Reponse + ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS as paged response. + ... Pre-conditions: At least one LCM occurrences available in the NFVO + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET NS LCM OP Occurrences + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET status information about multiple NS LCM occurrences - Bad Request Response too Big + [Documentation] Test ID: 5.3.2.8.13 + ... Test title: GET status information about multiple NS LCM occurrences - Bad Request Response too Big + ... Test objective: The objective is to test that GET method fail because response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid filter parameter + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET NS LCM OP Occurrences + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index fee83255668269ed1d2f2700e9cc4f7eadb0f09e..a11b0047ca9246ff98ed24e72cd80bfc0d1f37b4 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -1,11 +1,12 @@ *** Settings *** Resource environment/variables.txt -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library JSONLibrary Library Process Library JSONSchemaLibrary schemas/ Library OperatingSystem Library MockServerLibrary +Library Collections *** Keywords *** Initialize System @@ -14,7 +15,7 @@ Initialize System Create Mock Session ${callback_uri}:${callback_port} Check Operation Occurrence Id - ${occid}= Get Value From Json ${response[0]['headers']['Location']} ${response} + ${occid}= Get Value From Json ${response['headers']['Location']} ${response} Set Global Variable @{nsLcmOpOccId} ${occid} Should Not Be Empty ${nsLcmOpOccId} @@ -30,6 +31,13 @@ Check subscription existence Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 200 +Check Instance Deleted + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 404 + Check Fail not supported Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} @@ -81,9 +89,9 @@ Check Operation Notification Configure Notification Forward [Arguments] ${element} ${endpoint} ${endpoint_fwd} - ${BODY}= evaluate json.loads('''${json}''') json + # ${BODY}= evaluate json.loads('''${json}''') json Log Creating mock HTTP forward to handle ${element} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${BODY} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${element} &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} @@ -91,28 +99,28 @@ Configure Notification Status Handler [Arguments] ${endpoint} ${status}="" Run Keyword If ${status}!="" set to dictionary ${json["notificationStatus"]} dp=${status} ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle ${element} + Log Creating mock request and response to handle ${endpoint} &{notification_request}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${notification_request} ${notification_response} Check resource operationState is [Arguments] ${state} - String ${response[0]['body']['operationState']} ${state} + String ${response['body']['operationState']} ${state} Check resource instantiated Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} - String response body instantiationState INSTANTIATED + String response body nsState INSTANTIATED Check resource not_instantiated Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} - String response body instantiationState NOT_INSTANTIATED + String response body nsState NOT_INSTANTIATED Check operation resource state is FAILED_TEMP Set Headers {"Accept":"${ACCEPT}"} @@ -120,6 +128,7 @@ Check operation resource state is FAILED_TEMP Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} String response body instantiationState FAILED_TEMP + Check operation resource state is not FAILED_TEMP Check operation resource state is FAILED_TEMP Set Headers {"Accept":"${ACCEPT}"} @@ -150,27 +159,54 @@ Check resource existence Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} Integer response status 200 +Check Postcondition NS Instance is not created + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 404 + Check HTTP Response Status Code Is [Arguments] ${expected_status} Log Validate Status code - Should Be Equal as Strings ${response[0]['status']} ${expected_status} + Should Be Equal as Strings ${response['status']} ${expected_status} Log Status code validated +Check Postcondition NS Instance is deleted + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 404 + +Check Postcondition NS Instance is not modified + GET IndividualNSInstance + ${resp_dict}= evaluate json.loads('''${response['body']}''') json + ${body}= Get File jsons/CreateNsRequest.json + Dictionaries Should Be Equal ${resp_dict} ${body} values=True + Check HTTP Response Header Contains [Arguments] ${HEADER_TOCHECK} - Should Contain ${response[0]['headers']} ${HEADER_TOCHECK} + Should Contain ${response['headers']} ${HEADER_TOCHECK} Log Header is present Check HTTP Response Body Json Schema Is [Arguments] ${input} - ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check Postcondition NS Instance is not deleted + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 200 + Check HTTP Response Header ContentType is [Arguments] ${expected_contentType} Log Validate content type - Should Be Equal as Strings ${response[0]['headers']['Content-Type']} ${expected_contentType} + Should Be Equal as Strings ${response['headers']['Content-Type']} ${expected_contentType} Log Content Type validated POST New nsInstance @@ -181,7 +217,7 @@ POST New nsInstance ${body}= Get File jsons/CreateNsRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET NsInstances Log Query NS The GET method queries information about multiple NS instances. @@ -190,7 +226,7 @@ GET NsInstances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET NsInstance Invalid Attribute-Based filtering parameter @@ -200,7 +236,7 @@ GET NsInstance Invalid Attribute-Based filtering parameter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances?attribute_not_exist=some_value ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET NsInstance Invalid Attribute Selector Log Query NS The GET method queries information about multiple NS instances. @@ -209,7 +245,7 @@ GET NsInstance Invalid Attribute Selector Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances?fields=wrong_field ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get NSInstances with all_fields attribute selector Log Get the list of NSInstances, using fields @@ -247,7 +283,7 @@ PUT NSInstances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH NSInstances log Trying to perform a PATCH. This method should not be implemented @@ -256,7 +292,7 @@ PATCH NSInstances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE NSInstances log Trying to perform a DELETE. This method should not be implemented @@ -265,7 +301,7 @@ DELETE NSInstances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST IndividualNSInstance Log Trying to perform a POST. This method should not be implemented @@ -274,7 +310,7 @@ POST IndividualNSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET IndividualNSInstance Log Trying to get information about an individual NS instance @@ -282,9 +318,9 @@ GET IndividualNSInstance Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} - ${Etag}= Output response headers Etag + ${Etag}= Output response headers ETag ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT IndividualNSInstance @@ -294,7 +330,7 @@ PUT IndividualNSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH IndividualNSInstance Log Trying to perform a PATCH. This method should not be implemented @@ -303,14 +339,14 @@ PATCH IndividualNSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE IndividualNSInstance log Trying to delete an individual VNF instance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE IndividualNSInstance Conflict @@ -318,7 +354,7 @@ DELETE IndividualNSInstance Conflict Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${ConflictNsInstanceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Instantiate NSInstance @@ -326,7 +362,7 @@ DELETE Instantiate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Instantiate NSInstance log Trying to patch an instantiate NS instance. This method should not be implemented @@ -335,7 +371,7 @@ DELETE Instantiate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Instantiate NSInstance log Trying to put an instantiate NS instance. This method should not be implemented @@ -344,7 +380,7 @@ PUT Instantiate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Instantiate NSInstance log Trying to get an instantiate NS instance. This method should not be implemented @@ -353,7 +389,7 @@ GET Instantiate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/instantiate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Instantiate nsInstance Log Trying to Instantiate a ns Instance @@ -363,14 +399,14 @@ GET Instantiate NSInstance ${body}= Get File jsons/InstantiateNsRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/instantiate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Scale NSInstance log Trying to delete an Scale NS instance. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Scale NSInstance log Trying to patch an Scale NS instance. This method should not be implemented @@ -379,7 +415,7 @@ DELETE Scale NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Scale NSInstance log Trying to put an Scale NS instance. This method should not be implemented @@ -388,7 +424,7 @@ PUT Scale NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Scale NSInstance log Trying to get an Scale NS instance. This method should not be implemented @@ -397,7 +433,7 @@ GET Scale NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/scale ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST scale nsInstance Log Trying to Instantiate a scale NS Instance @@ -407,14 +443,14 @@ POST scale nsInstance ${body}= Get File jsons/ScaleNsRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/scale ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Update NSInstance log Trying to delete an Update NS instance. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/update ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Update NSInstance log Trying to patch an Update NS instance. This method should not be implemented @@ -423,7 +459,7 @@ DELETE Update NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/update ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Update NSInstance log Trying to put an Update NS instance. This method should not be implemented @@ -432,7 +468,7 @@ PUT Update NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/update ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Update NSInstance log Trying to get an Update NS instance. This method should not be implemented @@ -441,7 +477,7 @@ GET Update NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/update ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Update NSInstance Log Trying to Instantiate a Update NS Instance @@ -451,14 +487,14 @@ POST Update NSInstance ${body}= Get File jsons/UpdateNsRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/update ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Heal NSInstance log Trying to Delete an Heal NS instance. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Heal NSInstance log Trying to patch an Heal NS instance. This method should not be implemented @@ -467,7 +503,7 @@ DELETE Heal NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Heal NSInstance log Trying to put an Heal NS instance. This method should not be implemented @@ -476,7 +512,7 @@ PUT Heal NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Heal NSInstance log Trying to get an Heal NS instance. This method should not be implemented @@ -485,7 +521,7 @@ GET Heal NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/heal ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Heal NSInstance Log Trying to Instantiate a Heal NS Instance @@ -495,14 +531,14 @@ POST Heal NSInstance ${body}= Get File jsons/HealNsRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/heal ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Terminate NSInstance log Trying to Delete an Terminate NS instance. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Terminate NSInstance log Trying to patch an Terminate NS instance. This method should not be implemented @@ -511,7 +547,7 @@ PATCH Terminate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Terminate NSInstance log Trying to put an Terminate NS instance. This method should not be implemented @@ -520,7 +556,7 @@ PUT Terminate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Terminate NSInstance log Trying to Get an Terminate NS instance. This method should not be implemented @@ -529,7 +565,7 @@ GET Terminate NSInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/terminate ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Terminate NSInstance Log Trying to Instantiate a Terminate NS Instance @@ -539,7 +575,7 @@ POST Terminate NSInstance ${body}= Get File jsons/TerminateNsRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId}/terminate ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST NS LCM OP Occurrences log Trying to perform a POST. This method should not be implemented @@ -547,7 +583,7 @@ POST NS LCM OP Occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT NS LCM OP Occurrences log Trying to perform a PUT. This method should not be implemented @@ -555,7 +591,7 @@ PUT NS LCM OP Occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH NS LCM OP Occurrences log Trying to perform a PATCH. This method should not be implemented @@ -563,7 +599,7 @@ PATCH NS LCM OP Occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE NS LCM OP Occurrences log Trying to perform a DELETE. This method should not be implemented @@ -571,7 +607,7 @@ DELETE NS LCM OP Occurrences Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET NS LCM OP Occurrences Log Query status information about multiple NS lifecycle management operation occurrences. @@ -580,7 +616,7 @@ GET NS LCM OP Occurrences Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET NS LCM OP Occurrences Invalid attribute-based filtering parameters Log Query status information about multiple NS lifecycle management operation occurrences. @@ -588,7 +624,7 @@ GET NS LCM OP Occurrences Invalid attribute-based filtering parameters Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs?${NEG_FILTER} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET NS LCM OP Occurrences Invalid attribute selector Log Query status information about multiple NS lifecycle management operation occurrences. @@ -596,7 +632,7 @@ GET NS LCM OP Occurrences Invalid attribute selector Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs?${NEG_SELECTOR} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get NS LCM OP Occurrences with all_fields attribute selector Log Query status information about multiple NS lifecycle management operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -632,7 +668,7 @@ POST Individual NS LCM OP Occurrence Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Individual NS LCM OP Occurrence log Trying to perform a PUT. This method should not be implemented @@ -640,7 +676,7 @@ PUT Individual NS LCM OP Occurrence Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Individual NS LCM OP Occurrence log Trying to perform a PATCH. This method should not be implemented @@ -648,7 +684,7 @@ PATCH Individual NS LCM OP Occurrence Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Individual NS LCM OP Occurrence log Trying to perform a DELETE. This method should not be implemented @@ -656,7 +692,7 @@ DELETE Individual NS LCM OP Occurrence Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Individual NS LCM OP Occurrence Log Query status information about individual NS lifecycle management operation occurrence. @@ -665,35 +701,35 @@ GET Individual NS LCM OP Occurrence Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Retry operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Retry operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Retry operation task log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Retry operation task log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Retry operation task Log Retry a NS lifecycle operation if that operation has experienced a temporary failure @@ -701,35 +737,35 @@ POST Retry operation task Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/retry ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Rollback operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Rollback operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Rollback operation task log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Rollback operation task log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Rollback operation task Log Rollback a NS lifecycle operation task @@ -737,35 +773,35 @@ POST Rollback operation task Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/rollback ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Continue operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/continue ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Continue operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/continue ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Continue operation task log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/continue ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Continue operation task log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/continue ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Continue operation task Log Continue a NS lifecycle operation task @@ -773,35 +809,35 @@ POST Continue operation task Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/continue ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Fail operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Fail operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Fail operation task log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Fail operation task log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Fail operation task Log Fail a NS lifecycle operation task @@ -809,35 +845,35 @@ POST Fail operation task Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/fail ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Cancel operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Cancel operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Cancel operation task Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Cancel operation task Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Cancel operation task Log Cancel a NS lifecycle operation task @@ -845,7 +881,7 @@ POST Cancel operation task Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId}/cancel ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT subscriptions Log Trying to perform a PUT. This method should not be implemented @@ -854,7 +890,7 @@ PUT subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH subscriptions Log Trying to perform a PATCH. This method should not be implemented @@ -863,7 +899,7 @@ PATCH subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE subscriptions Log Trying to perform a DELETE. This method should not be implemented @@ -872,7 +908,7 @@ DELETE subscriptions Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST subscriptions Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -882,7 +918,7 @@ POST subscriptions ${body}= Get File jsons/LccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST subscriptions DUPLICATION Log Trying to create a subscription with an already created content @@ -893,7 +929,7 @@ POST subscriptions DUPLICATION ${body}= Get File jsons/LccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST subscriptions NO DUPLICATION Log Trying to create a subscription with an already created content @@ -904,7 +940,7 @@ POST subscriptions NO DUPLICATION ${body}= Get File jsons/LccnSubscriptionRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Subscriptions @@ -915,7 +951,7 @@ GET Subscriptions Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields @@ -952,7 +988,7 @@ GET subscriptions with filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} Get subscriptions - invalid filter Log Get the list of active subscriptions using an invalid filter @@ -960,7 +996,7 @@ Get subscriptions - invalid filter Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Individual Subscription log Trying to perform a POST. This method should not be implemented @@ -969,7 +1005,7 @@ POST Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PUT Individual Subscription log Trying to perform a PUT. This method should not be implemented @@ -978,7 +1014,7 @@ PUT Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} PATCH Individual Subscription log Trying to perform a PATCH. This method should not be implemented @@ -987,7 +1023,7 @@ PATCH Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} GET Individual subscription log Trying to get information about an individual subscription @@ -995,7 +1031,7 @@ GET Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} DELETE Individual subscription log Try to delete an individual subscription @@ -1003,7 +1039,7 @@ DELETE Individual subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} POST Operation occurrence log The POST method delivers a notification from the server to the client. @@ -1066,4 +1102,7 @@ PUT notification Verify Mock Expectation ${req} Log Cleaning the endpoint Clear Requests ${callback_endpoint} - \ No newline at end of file + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot index ab7d53f32dc829dfb7514af048fedd12947bbd59..628bbdf57b3a0af9dea8a04bb1dd1ad3541b44c5 100644 --- a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ NS LCM Operation Occurrence Start Notification ... Test title: NS LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Start Notification when a new NS LCM operation is started in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ NS LCM Operation Occurrence Result Notification ... Test title: NS LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Result Notification when a NS LCM operation is completed in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An NS LCM operation is in progress, and a subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ NS Identifier Creation Notification ... Test title: NS Identifier Creation Notification ... Test objective: The objective is to test the dispatch of NS Identifier Creation Notification when a new NS instance resource is created in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for NS identifier creation notifications is available in the NFVO. - ... Reference: clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ NS Identifier Deletion Notification ... Test title: NS Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of NS Identifier Deletion Notification when a NS instance resource is deleted in the NFVO, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance resource is created, and a subscription for NS identifier creation notifications is available in the NFVO. - ... Reference: clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot b/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot index 9ed56c813952134185df1f3e06162c303977615c..c25513fbcea1a868bbd95a0cc65437a6776821b5 100644 --- a/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -13,7 +13,7 @@ Post Retry operation task ... Test title: Post Retry operation task ... Test objective: The objective is to test that POST method trigger a retry of NS lifecycle operation in case of temporary failure ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -27,7 +27,7 @@ Post Retry operation task Not Found ... Test title: Post Retry operation task Not Found ... Test objective: The objective is to test that POST method fail in case of NS lifecycle operation not found ... Pre-conditions: none - ... Reference: clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ Post Retry operation task Conflict ... Test title: Post Retry operation task Conflict ... Test objective: The objective is to test that POST method fail in case of NS lifecycle operation status conflict (i.e. NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.11.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.11.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.11.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.11.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.11.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot b/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot index 441259961cddc8b5c20d364a52fd3d3f13aa9011..3b09699e0d551b3fff1a3f8d9b7ca575cb748ae2 100644 --- a/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library DependencyLibrary Library JSONLibrary @@ -13,7 +13,7 @@ POST Rollback operation task ... Test title: POST Rollback operation task ... Test objective: The objective is to test that POST method triggers a rollback on the NS LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that POST method fails if NS LCM operation is not found ... Pre-conditions: none - ... Reference: clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Rollback operation task Conflict ... Test title: POST Rollback operation task Conflict ... Test objective: The objective is to test that POST method fail in case of NS LCM operation status conflict (i.e. NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.12.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.12.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.12.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.12.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.12.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/SOL005-NSLifecycleManagement-API.json b/SOL005/NSLifecycleManagement-API/SOL005-NSLifecycleManagement-API.json deleted file mode 100644 index b312fd266a8d8c6225df21299951ea0cf6b020a0..0000000000000000000000000000000000000000 --- a/SOL005/NSLifecycleManagement-API/SOL005-NSLifecycleManagement-API.json +++ /dev/null @@ -1,30696 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.0.0", - "title": "SOL005 - NS Lifecycle Management Interface", - "description": "SOL005 - NS Lifecycle Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - }, - "contact": { - "name": "NFV-SOL WG" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 005 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf" - }, - "basePath": "/nslcm/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/ns_instances": { - "post": { - "summary": "Create a NS instance resource.", - "description": "The POST method creates a new NS instance resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CreateNsRequest" - ], - "properties": { - "CreateNsRequest": { - "type": "object", - "required": [ - "nsdId", - "nsName", - "nsDescription" - ], - "properties": { - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsName": { - "description": "Human-readable name of the NS instance to be created.\n", - "type": "string" - }, - "nsDescription": { - "description": "Human-readable description of the NS instance to be created.\n", - "type": "string" - } - } - } - }, - "description": "The NS creation parameters, as defined in clause 6.5.2.7. \n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nA NS Instance identifier was created successfully. The response body shall contain a representation of the created NS instance, as defined in clause 6.5.2.8. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created NS instance.\n", - "schema": { - "type": "object", - "properties": { - "NsInstance": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Query multiple NS instances.", - "description": "Query NS Instances.\nThe GET method queries information about multiple NS instances. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "\"Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the NsInstance and in data types referenced from it shall be supported in attribute-based filtering parameters\"\n" - }, - { - "name": "all_fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO shall support this parameter.\"\n" - }, - { - "name": "fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter.\" \n" - }, - { - "name": "exclude_fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter.\"\n" - }, - { - "name": "exclude_default", - "in": "query", - "required": false, - "type": "string", - "description": "\"Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsInstance structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: - vnfInstances - pnfInfo - virtualLinkInfo - vnffgInfo - sapInfo - nsScaleStatus - additionalAffinityOrAntiAffinityRules\"\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about zero or more NS instances was queried successfully. The response body shall contain representations of zero or more NS instances, as defined in clause 6.5.2.8.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "NsInstance": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_instances/{nsInstanceId}": { - "parameters": [ - { - "name": "nsInstanceId", - "description": "Identifier of the NS instance.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read an individual NS instance resource.", - "description": "The GET method retrieves information about a NS instance by reading an individual NS instance resource. \n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about an individual NS instance was queried successfully. The response body shall contain a representation of the NS instance.\n", - "schema": { - "type": "object", - "properties": { - "NsInstance": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Delete NS instance resource.", - "description": "Delete NS Identifier\nThis method deletes an individual NS instance resource.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe NS instance resource and the associated NS identifier were deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another error handling action is starting, such as retry or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "412": { - "description": "Precondition Failed 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.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_instances/{nsInstanceId}/instantiate": { - "parameters": [ - { - "name": "nsInstanceId", - "description": "Identifier of the NS instance to be instantiated.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "summary": "Instantiate a NS.", - "description": "The POST method requests to instantiate a NS instance resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "InstantiateNsRequest" - ], - "properties": { - "InstantiateNsRequest": { - "type": "object", - "required": [ - "nsFlavourId" - ], - "properties": { - "nsFlavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapData": { - "description": "Create data concerning the SAPs of this NS.\n", - "type": "array", - "items": { - "description": "This type represents the information related to a SAP of a NS. It shall comply with the provisions defined in Table 6.5.3.10-1.\n", - "type": "object", - "required": [ - "sapdId", - "sapName", - "description" - ], - "properties": { - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP.\n", - "type": "string" - }, - "sapProtocolData": { - "description": "Parameters for configuring the network protocols on the SAP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - }, - "addpnfData": { - "description": "Information on the PNF(s) that are part of this NS.\n", - "type": "array", - "items": { - "description": "This type specifies an PNF to be added to the NS instance and the PNF Profile to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfName", - "pnfdId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpData": { - "description": "Address assigned for the PNF external CP(s).\n", - "type": "array", - "items": { - "description": "This type represents the configuration data on the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.16-1.\n", - "type": "object", - "required": [ - "cpProtocolData" - ], - "properties": { - "cpInstanceI16": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Address assigned for this CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "vnfInstanceData": { - "description": "Specify an existing VNF instance to be used in the NS. If needed, the VNF Profile to be used for this VNF instance is also provided.\n", - "type": "array", - "items": { - "description": "This type specifies an existing VNF instance to be used in the NS instance and if needed, the VNF Profile to use for this VNF instance. It shall comply with the provisions defined in Table 6.5.3.19-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "nestedNsInstanceId": { - "description": "Specify an existing NS instance to be used as a nested NS within the NS.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "localizationLanguage": { - "description": "Defines the location constraints for the VNF to be instantiated as part of the NS instantiation. An example can be a constraint for the VNF to be in a specific geographic location..\n", - "type": "array", - "items": { - "description": "This type represents the association of location constraints to a VNF instance to be created according to a specific VNF profile. It shall comply with the provisions defined in Table 6.5.3.20-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "locationConstraints": { - "description": "This type represents location constraints for a VNF to be instantiated. The location constraints shall be presented as a country code, optionally followed by a civic address based on the format defined by IETF RFC 4776 [13].\n", - "type": "object", - "required": [ - "countryCode" - ], - "properties": { - "countryCode": { - "description": "The two-letter ISO 3166 [29] country code in capital letters.\n", - "type": "string" - }, - "civicAddressElement": { - "description": "Zero or more elements comprising the civic address.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "caType", - "caValue" - ], - "properties": { - "caType": { - "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "integer" - }, - "caValue": { - "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "additionalParamsForNs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "additionalParamsForVnf": { - "description": "Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in additionalParamsForNs). This is for VNFs that are to be created by the NFVO as part of the NS instantiation and not for existing VNF that are referenced for reuse..\n", - "type": "array", - "items": { - "description": "This type defines the additional parameters for the VNF instance to be created associated with an NS instance. It shall comply with the provisions defined in Table 6.5.3.22-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsInstantiationLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "additionalAffinityOrAntiAffiniityRule": { - "description": "Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - } - } - } - }, - "description": "Parameters for the instantiate NS operation, as defined in clause 6.5.2.10.\n" - } - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe request was accepted for processing, but the processing has not been completed. \nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"NS lifecycle operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nError: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the NS LCM operation occurrence is not in FAILED_TEMP state, or another error handling action is starting, such as retry or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_instances/{nsInstanceId}/scale": { - "parameters": [ - { - "name": "nsInstanceId", - "description": "Identifier of the NS instance to be scaled.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "summary": "Scale a NS instance.", - "description": "The POST method requests to scale a NS instance resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "ScaleNsRequest" - ], - "properties": { - "ScaleNsRequest": { - "description": "This type represents a request for the scale NS operation. \n", - "type": "object", - "required": [ - "scaleType" - ], - "properties": { - "scaleType": { - "description": "Indicates the type of scaling to be performed. Possible values: - SCALE_NS - SCALE_VNF\n", - "type": "string", - "enum": [ - "SCALE_NS", - "SCALE_VNF" - ] - }, - "scaleNsData": { - "description": "This type represents the information to scale a NS.\n", - "type": "object", - "properties": { - "vnfInstanceToBeAdded": { - "description": "An existing VNF instance to be added to the NS instance as part of the scaling operation. If needed, the VNF Profile to be used for this VNF instance may also be provided.\n", - "type": "array", - "items": { - "description": "This type specifies an existing VNF instance to be used in the NS instance and if needed, the VNF Profile to use for this VNF instance. It shall comply with the provisions defined in Table 6.5.3.19-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "vnfInstanceToBeRemoved": { - "description": "The VNF instance to be removed from the NS instance as part of the scaling operation.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "scaleNsByStepsData": { - "description": "This type represents the information used to scale an NS instance by one or more scaling steps, with respect to a particular NS scaling aspect. Performing a scaling step means increasing/decreasing the capacity of an NS instance in a discrete manner, i.e. moving from one NS scale level to another. The NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD.\n", - "type": "object", - "required": [ - "scalingDirection", - "aspectId" - ], - "properties": { - "scalingDirection": { - "description": "The scaling direction. Possible values are: - SCALE_IN - SCALE_OUT.\n", - "type": "string", - "enum": [ - "SCALE_IN", - "SCALE_OUT" - ] - }, - "aspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "numberOfSteps": { - "description": "The number of scaling steps to be performed. Defaults to 1.\n", - "type": "integer", - "default": 1 - } - } - }, - "scaleNsToLevelData": { - "description": "This type represents the information used to scale an NS instance to a target size. The target size is either expressed as an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD.\n", - "type": "object", - "properties": { - "nsInstantiationLevel": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleInfo": { - "description": "For each NS scaling aspect of the current DF, defines the target NS scale level to which the NS instance is to be scaled.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - }, - "additionalParamsForNs": { - "description": "This type defines the additional parameters for the VNF instance to be created associated with an NS instance. It shall comply with the provisions defined in Table 6.5.3.22-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "additionalParamsForVnf": { - "description": "Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in additionalParamforNs). This is for VNFs that are to be created by the NFVO as part of the NS scaling and not for existing VNF that are covered by the scaleVnfData.\n", - "type": "array", - "items": { - "description": "This type defines the additional parameters for the VNF instance to be created associated with an NS instance. It shall comply with the provisions defined in Table 6.5.3.22-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "locationConstraints": { - "description": "The location constraints for the VNF to be instantiated as part of the NS scaling. An example can be a constraint for the VNF to be in a specific geographic location.\n", - "type": "array", - "items": { - "description": "This type represents the association of location constraints to a VNF instance to be created according to a specific VNF profile. It shall comply with the provisions defined in Table 6.5.3.20-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "locationConstraints": { - "description": "This type represents location constraints for a VNF to be instantiated. The location constraints shall be presented as a country code, optionally followed by a civic address based on the format defined by IETF RFC 4776 [13].\n", - "type": "object", - "required": [ - "countryCode" - ], - "properties": { - "countryCode": { - "description": "The two-letter ISO 3166 [29] country code in capital letters.\n", - "type": "string" - }, - "civicAddressElement": { - "description": "Zero or more elements comprising the civic address.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "caType", - "caValue" - ], - "properties": { - "caType": { - "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "integer" - }, - "caValue": { - "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "scaleVnfData": { - "description": "The necessary information to scale the referenced NS instance. It shall be present when scaleType = SCALE_VNF.\n", - "type": "array", - "items": { - "description": "This type represents defines the information to scale a VNF instance to a given level, or to scale a VNF instance by steps.\n", - "type": "object", - "required": [ - "vnfInstanceid", - "scaleVnfType" - ], - "properties": { - "vnfInstanceid": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "scaleVnfType": { - "description": "Type of the scale VNF operation requested. Allowed values are: - SCALE_OUT - SCALE_IN - SCALE_TO_INSTANTIATION_LEVEL - SCALE_TO_SCALE_LEVEL(S) The set of types actually supported depends on the capabilities of the VNF being managed.\n", - "type": "string", - "enum": [ - "SCALE_OUT", - "SCALE_IN", - "SCALE_TO_INSTANTIATION_LEVEL", - "SCALE_TO_SCALE_LEVEL(S)" - ] - }, - "scaleToLevelData": { - "description": "This type describes the information used to scale a VNF instance to a target size. The target size is either expressed as an instantiation level of that DF as defined in the VNFD, or given as a list of scale levels, one per scaling aspect of that DF. Instantiation levels and scaling aspects are declared in the VNFD. The NFVO shall then invoke the ScaleVnfToLevel operation towards the appropriate VNFM..\n", - "type": "object", - "properties": { - "vnfInstantiationLevelId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfScaleInfo": { - "description": "For each scaling aspect of the current deployment flavor, indicates the target scale level to which the VNF is to be scaled.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "scaleByStepData": { - "description": "This type describes the information to scale a VNF instance by steps. The NFVO shall then invoke the Scale VNF operation towards the appropriate VNFM.\n", - "type": "object", - "required": [ - "aspectId" - ], - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "numberOfSteps": { - "description": "Number of scaling steps. It shall be a positive number. Defaults to 1. The VNF provider defines in the VNFD whether or not a particular VNF supports performing more than one step at a time. Such a property in the VNFD applies for all instances of a particular VNF.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "scaleTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - }, - "description": "Parameters for the scale NS operation, as defined in clause 6.5.2.13. \n" - } - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe request was accepted for processing, but the processing has not been completed. \nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"NS lifecycle operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the NS instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_instances/{nsInstanceId}/update": { - "parameters": [ - { - "name": "nsInstanceId", - "description": "Identifier of the NS instance to be updated.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "summary": "Updates a NS instance.", - "description": "Scale NS instance. The POST method requests to scale a NS instance resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "UpdateNsRequest" - ], - "properties": { - "UpdateNsRequest": { - "description": "This operation supports the update of a NS instance, It shall comply with the provisions defined in Table 6.5.2.12-1.\n", - "type": "object", - "required": [ - "updateType" - ], - "properties": { - "updateType": { - "description": "The type of update. It determines also which one of the following parameters is present in the operation. Possible values include: * ADD_VNF: Adding existing VNF instance(s) * REMOVE_VNF: Removing VNF instance(s) * INSTANTIATE_VNF: Instantiating new VNF(s) * CHANGE_VNF_DF: Changing VNF DF * OPERATE_VNF: Changing VNF state, * MODIFY_VNF_INFORMATION: Modifying VNF information and/or the configurable properties of VNF instance(s) * CHANGE_EXTERNAL_VNF_CONNECTIVITY: Changing the external connectivity of VNF instance(s)ADD_SAP: Adding SAP(s) * REMOVE_SAP: Removing SAP(s) * ADD_NESTED_NS: Adding existing NS instance(s) as nested NS(s) * REMOVE_NESTED_NS: Removing existing nested NS instance(s) * ASSOC_NEW_NSD_VERSION: Associating a new NSD version to the NS instance * MOVE_VNF: Moving VNF instance(s) from one origin NS instance to another target NS instance * ADD_VNFFG: Adding VNFFG(s) * REMOVE_VNFFG: Removing VNFFG(s) * UPDATE_VNFFG: Updating VNFFG(s) * CHANGE_NS_DF: Changing NS DF * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF\n", - "type": "string", - "enum": [ - "ADD_VNF", - "REMOVE_VNF", - "INSTANTIATE_VNF", - "CHANGE_VNF_DF", - "OPERATE_VNF", - "MODIFY_VNF_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY", - "REMOVE_SAP", - "ADD_NESTED_NS", - "REMOVE_NESTED_NS", - "ASSOC_NEW_NSD_VERSION", - "MOVE_VNF", - "ADD_VNFFG", - "REMOVE_VNFFG", - "UPDATE_VNFFG", - "CHANGE_NS_DF", - "ADD_PNF", - "MODIFY_PNF", - "REMOVE_PNF" - ] - }, - "addVnfIstance": { - "description": "Identifies an existing VNF instance to be added to the NS instance. It shall be present only if updateType = \"ADD_VNF\". \n", - "type": "array", - "items": { - "description": "This type specifies an existing VNF instance to be used in the NS instance and if needed, the VNF Profile to use for this VNF instance. It shall comply with the provisions defined in Table 6.5.3.19-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "removeVnfInstanceId": { - "description": "Identifies an existing VNF instance to be removed from the NS instance. It contains the identifier(s) of the VNF instances to be removed. It shall be present only if updateType = \"REMOVE_VNF.\" Note: If a VNF instance is removed from a NS and this NS was the last one for which this VNF instance was a part, the VNF instance is terminated by the NFVO.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "instantiateVnfData": { - "description": "Identifies the new VNF to be instantiated. It can be used e.g. for the bottom-up NS creation. It shall be present only if updateType = \"INSTANTIATE_VNF\".\n", - "type": "array", - "items": { - "description": "This type represents the information related to a SAP of a NS. The InstantiateVnfData data type specifies the parameters that are needed for VNF instantiation. This information element is used for the bottom-up NS creation when the OSS/BSS explicitly requests VNF instantiation for a given NS. When the NFVO invokes the Instantiate VNF update operation, a set of these parameters are then passed by the NFVO to the VNFM. It shall comply with the provisions defined in Table 6.5.3.24-1.\n", - "type": "object", - "required": [ - "vnfdId", - "vnfFlavourId" - ], - "properties": { - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfFlavourId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfInstantiationLevelId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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" - }, - "extVirtualLinks": { - "description": "Information about external VLs to connect the VNF to.\n", - "type": "array", - "items": { - "description": "This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1.\n", - "type": "object", - "required": [ - "resourceId", - "extCps" - ], - "properties": { - "extVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be\n absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a\n to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n 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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by other entities than the VNFM.\n", - "type": "array", - "items": { - "description": "This type represents an externally-managed internal VL. It shall comply with the provisions defined in Table 6.5.3.27-1. \n", - "type": "object", - "required": [ - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "extManagedVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vimId": { - "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" - } - } - } - }, - "localizationLanguage": { - "description": "Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646 [16].\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "changeVnfFlavourData": { - "description": "Identifies the new DF of the VNF instance to be changed to. It shall be present only if updateType = \"CHANGE_VNF_DF\".\n", - "type": "array", - "items": { - "description": "The type represents the information that is requested to be changed deployment flavor for an existing VNF instance. It shall comply with the provisions defined in Table 6.5.3.25-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "newFlavourId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "newFlavourId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "instantiationLevelId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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. It shall comply with the provisions defined in Table 6.5.3.26-1.\n", - "type": "object", - "required": [ - "resourceId", - "extCps" - ], - "properties": { - "extVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be\n absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a\n to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n 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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "extManagedVirtualLinks": { - "description": "information about internal VLs that are managed by NFVO.\n", - "type": "array", - "items": { - "description": "This type represents an externally-managed internal VL. It shall comply with the provisions defined in Table 6.5.3.27-1. \n", - "type": "object", - "required": [ - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "extManagedVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vimId": { - "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" - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "operateVnfData": { - "description": "Identifies the state of the VNF instance to be changed. It shall be present only if updateType = \"OPERATE_VNF\".\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance for which the operational state needs to be changed and the requested new state. It shall comply with the provisions defined in Table 6.5.3.31-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "changeStateTo" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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 immediately after accepting the\n request.\n* GRACEFUL: The VNFM will first arrange to take the VNF out of service\n after accepting the request. Once that operation is successful or once\n the timer value specified in the \"gracefulStopTimeout\" attribute\n expires, the VNFM will stop the VNF.\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.\n", - "type": "integer" - } - } - } - }, - "modifyVnfInfoData": { - "description": "Identifies the VNF information parameters and/or the configurable properties of VNF instance to be modified. It shall be present only if updateType = \"MODIFY_VNF_INFORMATION\".\n", - "type": "array", - "items": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "changeExtVnfConnectivityData": { - "description": "Specifies the new external connectivity data of the VNF instance to be changed. It shall be present only if updateType = \"CHANGE_EXTERNAL_VNF_CONNECTIVITY\".\n", - "type": "array", - "items": { - "description": "This type describes the information invoked by the NFVO to change the external VNF connectivity information maintained by the VNFM. The types of changes that this operation supports are: 1) Disconnect the external CPs that are connected to a particular external VL, and connect them to a different external VL. 2) Change the connectivity parameters of the existing external CPs, including changing addresses. NOTE: Depending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP address assignment) might not be supported without deleting the resource and creating another one with the modified configuration. This type shall comply with the provisions defined in Table 6.5.3.33-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "extVirtualLink" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "extVirtualLink": { - "description": "Information about external VLs to change (e.g. connect the VNF to).\n", - "type": "array", - "items": { - "description": "This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1.\n", - "type": "object", - "required": [ - "resourceId", - "extCps" - ], - "properties": { - "extVirtualLinkId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be\n absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a\n to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a\n link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"\n attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API\n 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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL.\n", - "type": "array", - "items": { - "description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "additionalParams": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "addSap": { - "description": "Identifies a new SAP to be added to the NS instance. It shall be present only if updateType = \"ADD_SAP.\"\n", - "type": "array", - "items": { - "description": "This type represents the information related to a SAP of a NS. It shall comply with the provisions defined in Table 6.5.3.10-1.\n", - "type": "object", - "required": [ - "sapdId", - "sapName", - "description" - ], - "properties": { - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP.\n", - "type": "string" - }, - "sapProtocolData": { - "description": "Parameters for configuring the network protocols on the SAP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - }, - "removeSapId": { - "description": "The identifier an existing SAP to be removed from the NS instance. It shall be present only if updateType = \"REMOVE_SAP.\"\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "addNestedNsId": { - "description": "The identifier of an existing nested NS instance to be added to (nested within) the NS instance. It shall be present only if updateType = \"ADD_NESTED_NS\".\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "removeNestedNsId": { - "description": "The identifier of an existing nested NS instance to be removed from the NS instance. It shall be present only if updateType = \"REMOVE_NESTED_NS\".\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "assocNewNsdVersionData": { - "description": "This type specifies a new NSD version that is associated to the NS instance. After issuing the Update NS operation with updateType = \"AssocNewNsdVersion\", the NFVO shall use the referred NSD as a basis for the given NS instance. Different versions of the same NSD have same nsdInvariantId, but different nsdId attributes, therefore if the nsdInvariantId of the NSD version that is to be associated to this NS instance is different from the one used before, the NFVO shall reject the request. Only new versions of the same NSD can be associated to an existing NS instance. This data type shall comply with the provisions defined in Table 6.5.3.34-1.\n", - "type": "object", - "required": [ - "newNsdId" - ], - "properties": { - "newNsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sync": { - "description": "Specify whether the NS instance shall be automatically synchronized to the new NSD by the NFVO (in case of true value) or the NFVO shall not do any action (in case of a false value) and wait for further guidance from OSS/BSS (i.e. waiting for OSS/BSS to issue NS lifecycle management operation to explicitly add/remove VNFs and modify information of VNF instances according to the new NSD). The synchronization to the new NSD means e.g. instantiating/adding those VNFs whose VNFD is referenced by the new NSD version but not referenced by the old one, terminating/removing those VNFs whose VNFD is referenced by the old NSD version but not referenced by the new NSD version, modifying information of VNF instances to the new applicable VNFD provided in the new NSD version. A cardinality of 0 indicates that synchronization shall not be done.\n", - "type": "boolean" - } - } - }, - "moveVnfInstanceData": { - "description": "Specify existing VNF instance to be moved from one NS instance to another NS instance. It shall be present only if updateType = MOVE_VNF\".\n", - "type": "array", - "items": { - "description": "This type specifies existing VNF instances to be moved from one NS instance (source) to another NS instance (destination). The NS instance defined in the Update NS operation indicates the source NS instance and the destination NS instance is specified in this data type (referred to targetNsInstanceId). It shall comply with the provisions defined in Table 6.5.3.35-1.\n", - "type": "object", - "required": [ - "targetNsInstanceId" - ], - "properties": { - "targetNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Specify the VNF instance that is moved.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - }, - "addVnffg": { - "description": "Specify the new VNFFG to be created to the NS Instance. It shall be present only if updateType = \"ADD_VNFFG\".\n", - "type": "array", - "items": { - "description": "This type specifies the parameters used for the creation of a new VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.36-1.\n", - "type": "object", - "required": [ - "vnffgdId", - "vnffgName", - "description" - ], - "properties": { - "targetNsInstanceId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgName": { - "description": "Human readable name for the VNFFG.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the VNFFG.\n", - "type": "string" - } - } - } - }, - "removeVnffgId": { - "description": "Identifier of an existing VNFFG to be removed from the NS Instance. It shall be present only if updateType = \"REMOVE_VNFFG\".\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "updateVnffg": { - "description": "Specify the new VNFFG Information data to be updated for a VNFFG of the NS Instance. It shall be present only if updateType = \"UPDATE_VNFFG\".\n", - "type": "array", - "items": { - "description": "This type specifies the parameters used for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.37-1.\n", - "type": "object", - "required": [ - "vnffgInfoId" - ], - "properties": { - "vnffgInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nfp": { - "description": "Indicate the desired new NFP(s) for a given VNFFG after the operations of addition/removal of NS components (e.g. VNFs, VLs, etc.) have been completed, or indicate the updated or newly created NFP classification and selection rule which applied to an existing NFP.\n", - "type": "array", - "items": { - "description": "This type contains information used to create or modify NFP instance parameters for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.38-1.\n", - "type": "object", - "properties": { - "nfpInfoId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nfpName": { - "description": "Human readable name for the NFP. It shall be present for the new NFP, and it may be present otherwise.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the NFP. It shall be present for the new NFP, and it may be present otherwise.\n", - "type": "string" - }, - "nsCpHandle": { - "description": "Identifier(s) of the CPs and SAPs which the NFP passes by. Cardinality can be 0 if only updated or newly created NFP classification and selection rule which applied to an existing NFP is provided.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "nfpRule": { - "description": "The NfpRule data type is an expression of the conditions that shall be met in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and it is met only if all the values expressed in the condition are matched by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1.\n", - "type": "object", - "properties": { - "etherDestinationAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "etherSourceAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "etherType": { - "description": "Human readable description for the VNFFG.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "vlanTag": { - "description": "Indicates a VLAN identifier in an IEEE 802.1Q-2014 tag [6] Multiple tags can be included for QinQ stacking. See note.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "protocol": { - "description": "Indicates the L4 protocol, For IPv4 [7] this corresponds to the field called \"Protocol\" to identify the next level protocol. For IPv6 [28] this corresponds to the field is called the \"Next Header\" field. Permitted values: Any keyword defined in the IANA protocol registry [1], e.g.: TCP UDP ICMP\n", - "type": "string", - "enum": [ - "TCP", - "UDP", - "ICMP" - ] - }, - "dscp": { - "description": "For IPv4 [7] a string of \"0\" and \"1\" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. For IPv6 [28] a string of \"0\" and \"1\" digits that corresponds to the 6 differentiated services bits of the traffic class header field\n", - "type": "string" - }, - "sourcePortRange": { - "description": "The PortRange data type provides the lower and upper bounds of a range of Internet ports. It shall comply with the provisions defined in Table 6.5.3.42-1.\n", - "type": "object", - "required": [ - "lowerPort", - "upperPort" - ], - "properties": { - "lowerPort": { - "description": "Identifies the lower bound of the port range. upperPort Integer\n", - "type": "integer", - "minimum": 0 - }, - "upperPort": { - "description": "Identifies the upper bound of the port range.\n", - "type": "integer", - "minimum": 0 - } - } - }, - "destinationPortRange": { - "description": "The PortRange data type provides the lower and upper bounds of a range of Internet ports. It shall comply with the provisions defined in Table 6.5.3.42-1.\n", - "type": "object", - "required": [ - "lowerPort", - "upperPort" - ], - "properties": { - "lowerPort": { - "description": "Identifies the lower bound of the port range. upperPort Integer\n", - "type": "integer", - "minimum": 0 - }, - "upperPort": { - "description": "Identifies the upper bound of the port range.\n", - "type": "integer", - "minimum": 0 - } - } - }, - "sourceIpAddressPrefix": { - "description": "An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF RFC 4632 [12]. For IPV6 address range, refer to IETF RFC 4291 [11].\n", - "type": "string", - "format": "CIDR" - }, - "destinationIpAddressPrefix": { - "description": "An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF RFC 4632 [12]. For IPV6 address range, refer to IETF RFC 4291 [11].\n", - "type": "string", - "format": "CIDR" - }, - "extendedCriteria": { - "description": "Indicates values of specific bits in a frame.\n", - "type": "array", - "items": { - "description": "The Mask data type identifies the value to be matched for a sequence of bits at a particular location in a frame. It shall comply with the provisions defined in Table 6.5.3.41-1.\n", - "type": "object", - "required": [ - "startingPoint", - "length", - "value" - ], - "properties": { - "startingPoint": { - "description": "Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched.\n", - "type": "integer" - }, - "length": { - "description": "Indicates the number of bits to be matched.\n", - "type": "integer" - }, - "value": { - "description": "Provide the sequence of bit values to be matched. \n", - "type": "string" - } - } - } - } - } - } - } - } - }, - "nfpInfoId": { - "description": "Identifier(s) of the NFP to be deleted from a given VNFFG.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - }, - "changeNsFlavourData": { - "description": "This type specifies an existing NS instance for which the DF needs to be changed. This specifies the new DF, the instantiationLevel of the new DF that may be used and the additional parameters as input for the flavour change. It shall comply with the provisions defined in Table 6.5.3.39-1.\n", - "type": "object", - "required": [ - "newNsFlavourId" - ], - "properties": { - "newNsFlavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "instantiationLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - }, - "addPnfData": { - "description": "specifies the PNF to be added into the NS instance. It shall be present only if updateType = \"ADD_PNF\".\n", - "type": "array", - "items": { - "description": "This type specifies an PNF to be added to the NS instance and the PNF Profile to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfName", - "pnfdId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpData": { - "description": "Address assigned for the PNF external CP(s).\n", - "type": "array", - "items": { - "description": "This type represents the configuration data on the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.16-1.\n", - "type": "object", - "required": [ - "cpProtocolData" - ], - "properties": { - "cpInstanceI16": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Address assigned for this CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "modifyPnfData": { - "description": "Specifies the PNF to be modified in the NS instance. It shall be present only if updateType = \"MODIFY_PNF\".\n", - "type": "array", - "items": { - "description": "This type specifies an PNF to be modified in the NS instance. It shall comply with the provisions defined in Table 6.5.3.15-1.\n", - "type": "object", - "required": [ - "pnfId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpData": { - "description": "Address assigned for the PNF external CP(s).\n", - "type": "array", - "items": { - "description": "This type represents the configuration data on the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.16-1.\n", - "type": "object", - "required": [ - "cpProtocolData" - ], - "properties": { - "cpInstanceI16": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Address assigned for this CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "removePnfId": { - "description": "Identifier of the PNF to be deleted from the NS instance. It shall be present only if updateType = \"REMOVE_PNF\".\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "updateTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - }, - "description": "Parameters for the update NS operation, as defined in clause 6.5.2.11.\n" - } - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe request was accepted for processing, but the processing has not been completed. \nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"NS lifecycle operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the NS instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_instances/{nsInstanceId}/heal": { - "parameters": [ - { - "name": "nsInstanceId", - "description": "Identifier of the NS instance to be healed.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "summary": "Heal a NS instance.", - "description": "The POST method requests to heal a NS instance resource. This method shall follow the provisions specified in the Tables 6.4.7.3.1-1 and 6.4.7.3.1-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "HealNsRequest" - ], - "properties": { - "HealNsRequest": { - "description": "This operation supports the healing of an NS instance, either by healing the complete NS instance or by healing one of more of the VNF instances that are part of this NS. It shall comply with the provisions defined in Table 6.5.2.13-1.\n", - "type": "object", - "properties": { - "healNsData": { - "description": "This type represents the information used to heal a NS. It shall comply with the provisions defined in Table 6.5.3.43-1.\n", - "type": "object", - "required": [ - "degreeHealing" - ], - "properties": { - "degreeHealing": { - "description": "Indicates the degree of healing. Possible values include: - HEAL_RESTORE: Complete the healing of the NS restoring the state of the NS before the failure occurred - HEAL_QOS: Complete the healing of the NS based on the newest QoS values - HEAL_RESET: Complete the healing of the NS resetting to the original instantiation state of the NS - PARTIAL_HEALING\n", - "type": "string", - "enum": [ - "HEAL_RESTORE", - "HEAL_QOS", - "HEAL_RESET", - "PARTIAL_HEALING" - ] - }, - "actionsHealing": { - "description": "Used to specify dedicated healing actions in a particular order (e.g. as a script). The actionsHealing attribute can be used to provide a specific script whose content and actions might only be possible to be derived during runtime.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "healScript": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "additionalParamsforNs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "healVnfData": { - "description": "Additional parameters passed by the NFVO as input to the healing process, specific to the VNF being healed, as declared in the VNFD as part of \"HealVnfOpConfig\". \n", - "type": "array", - "items": { - "description": "This type represents the information to heal a VNF that is part of an NS. The NFVO shall then invoke the HealVNF operation towards the appropriate VNFM. It shall comply with the provisions defined in Table 6.5.3.44-1.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "cause": { - "description": "Indicates the reason why a healing procedure is required.\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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - } - }, - "description": "Parameters for the heal NS operation, as defined in clause 6.5.2.12.\n" - } - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe request was accepted for processing, but the processing has not been completed. \nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"NS lifecycle operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the NS instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_instances/{nsInstanceId}/terminate": { - "parameters": [ - { - "name": "nsInstanceId", - "description": "The identifier of the NS instance to be terminated.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "summary": "Terminate a NS instance.", - "description": "Terminate NS task. The POST method terminates a NS instance. This method can only be used with a NS instance in the INSTANTIATED state. Terminating a NS instance does not delete the NS instance identifier, but rather transitions the NS into the NOT_INSTANTIATED state. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.8.3.1-1 and 6.8.8.3.1-2.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "TerminateNsRequest" - ], - "properties": { - "TerminateNsRequest": { - "description": "This type represents a NS termination request. It shall comply with the provisions defined in Table 6.5.2.15-1.\n", - "type": "object", - "properties": { - "terminationTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - }, - "description": "The terminate NS request parameters, as defined in clause 6.5.2.14.\n" - } - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe request was accepted for processing, but the processing has not been completed. \nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"NS lifecycle operation occurrence\" resource corresponding to the operation.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "scaleLevel": { - "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", - "type": "integer" - } - } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfExtCpId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n", - "type": "object", - "required": [ - "id", - "virtualStorageDescId", - "storageResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualStorageDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } - } - } - } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also returned if the task is not supported for the NS instance represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_lcm_op_occs": { - "get": { - "summary": "Query multiple NS LCM operation occurrences.", - "description": "Get Operation Status. The client can use this method to query status information about multiple NS lifecycle management operation occurrences. This method shall follow the provisions specified in the Tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply an attribute filter. All attribute names that appear in the NsLcmOpOcc and in data types referenced from it shall be supported in filtering parameters.\n" - }, - { - "name": "fields", - "in": "query", - "required": false, - "type": "string", - "description": "Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter.\n" - }, - { - "name": "exclude_fields", - "in": "query", - "required": false, - "type": "string", - "description": "Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter.\n" - }, - { - "name": "exclude_default", - "in": "query", - "required": false, - "type": "string", - "description": "Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsLcmOpOcc structure in the response body if this parameter is provided: - operationParams - changedVnfInfo - error - resourceChanges\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nStatus information for zero or more NS lifecycle management operation occurrences was queried successfully. The response body shall contain representations of zero or more NS instances, as defined in clause 5.5.2.13.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "NsLcmOpOcc": { - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "nsInstanceId", - "lcmOperationType", - "startTime", - "isAutomaticInvocation", - "operationParams", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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. OLLING_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": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\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. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP 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": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VLs. It shall comply with the provisions in Table 6.5.3.4-1.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY - ADD_LINK_PORT - REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId" - ], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED \n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "nsInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_lcm_op_occs/{nsLcmOpOccId}": { - "parameters": [ - { - "name": "nsLcmOpOccId", - "description": "Identifier of a NS lifecycle management operation occurrence.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read an individual NS LCM operation occurrence resource.", - "description": "The client can use this method to retrieve status information about a NS lifecycle management operation occurrence by reading an individual \"NS LCM operation occurrence\" resource. This method shall follow the provisions specified in the Tables 6.4.10.3.2-1 and 6.4.10.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about an individual NS instance was queried successfully. The response body shall contain status information about a NS lifecycle management operation occurrence (see clause 6.5.2.3).\n", - "schema": { - "type": "object", - "properties": { - "NsLcmOpOcc": { - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "nsInstanceId", - "lcmOperationType", - "startTime", - "isAutomaticInvocation", - "operationParams", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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. OLLING_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": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\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. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP 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": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VLs. It shall comply with the provisions in Table 6.5.3.4-1.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY - ADD_LINK_PORT - REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId" - ], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED \n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "nsInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_lcm_op_occs/{nsLcmOpOccId}/retry": { - "parameters": [ - { - "name": "nsLcmOpOccId", - "description": "Identifier of a NS lifecycle management operation occurrence to be retried.\nThis identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the \"nsLcmOpOccId\" attribute in the NsLcmOperationOccurrenceNotification.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "post": { - "summary": "Retry a NS lifecycle management operation occurrence.", - "description": "The POST method initiates retrying a NS lifecycle management operation if that operation has experienced a temporary failure, i.e. the related \"NS LCM operation occurrence\" is in \"FAILED_TEMP\" state. This method shall follow the provisions specified in the Tables 6.4.11.3.1-1 and 6.4.11.3.1-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_lcm_op_occs/{nsLcmOpOccId}/rollback": { - "parameters": [ - { - "name": "nsLcmOpOccId", - "description": "Identifier of a NS lifecycle management operation occurrence to be rolled back.\nThis identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the \"nsLcmOpOccId\" attribute in the NsLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "summary": "Rollback a NS lifecycle management operation occurrence.", - "description": "The POST method initiates rolling back a NS lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"NS LCM operation occurrence\" is in \"FAILED_TEMP\" state. This method shall follow the provisions specified in the Tables 6.4.12.3.1-1 and 6.4.12.3.1-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 4.3.5.4, including rules for the presence of the response body. Specifically, in case of this task resource, the reason can also be that the task is not supported for the NS LCM operation occurrence represented by the parent source, and that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/ns_lcm_op_occs/{nsLcmOpOccId}/continue": { - "parameters": [ - { - "name": "nsLcmOpOccId", - "description": "Identifier of a NS lifecycle management operation occurrence to be continued.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "summary": "Continue a NS lifecycle management operation occurrence.", - "description": "The POST method initiates continuing an NS lifecycle operation if that operation has experienced a temporary failure, i.e. the related \"NS LCM operation occurrence\" is in \"FAILED_TEMP\" state. This method shall follow the provisions specified in the Tables 6.4.13.3.1-1 and 6.4.13.3.1-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 4.3.5.4, including rules for the presence of the response body. Specifically, in case of this task resource, the reason can also be that the task is not supported for the NS LCM operation occurrence represented by the parent source, and that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail": { - "parameters": [ - { - "name": "nsLcmOpOccId", - "description": "Identifier of a NS lifecycle management operation occurrence to be marked as \"failed\".\nThis identifier can be retrieved from the resource referenced by he \"Location\" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the \"nsLcmOpOccId\" attribute in the NsLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "summary": "Mark a NS lifecycle management operation occurrence as failed.", - "description": "The POST method marks a NS lifecycle management operation occurrence as \"finally failed\" if that operation occurrence is in \"FAILED_TEMP\" state.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK", - "schema": { - "type": "object", - "description": "The state of the NS lifecycle management operation occurrence was changed successfully. The response shall include a representation of the NS lifecycle management operation occurrence resource.\n", - "properties": { - "NsLcmOpOcc": { - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\n", - "type": "object", - "required": [ - "id", - "operationState", - "stateEnteredTime", - "nsInstanceId", - "lcmOperationType", - "startTime", - "isAutomaticInvocation", - "operationParams", - "isCancelPending", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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. OLLING_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": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "stateEnteredTime": { - "description": "Date-time when the current state was entered.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "startTime": { - "description": "Date-time of the start of the operation.\n", - "type": "string", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\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. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP 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": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VLs. It shall comply with the provisions in Table 6.5.3.4-1.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY - ADD_LINK_PORT - REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId" - ], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED \n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - } - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self", - "nsInstance" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. The general cause for this error and its handling is specified in clause 4.3.5.4, including rules for the presence of the response body. Specifically, in case of this task resource, the reason can also be that the task is not supported for the NS LCM operation occurrence represented by the parent source, and that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "The operation cannot be executed currently, due to a conflict with the state of the NS instance resource. Typically, this is due to the fact that the NS instance resource is not in FAILED_TEMP state, or another error handling action is starting, such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel": { - "parameters": [ - { - "name": "nsLcmOpOccId", - "description": "Identifier of a NS lifecycle management operation occurrence to be canceled.\nThis identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request triggering a NS LCM operation. It can also be retrieved from the \"nsLcmOpOccId\" attribute in the NsLcmOperationOccurrenceNotification.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "post": { - "summary": "Cancel a NS lifecycle management operation occurrence.", - "description": "The POST method initiates canceling an ongoing NS lifecycle management operation while it is being executed or rolled back, i.e. the related \"NS LCM operation occurrence\" is either in \"PROCESSING\" or \"ROLLING_BACK\" state. This method shall follow the provisions specified in the Tables 6.4.15.3.1-1 and 6.4.15.3.1-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CancelMode" - ], - "properties": { - "CancelMode": { - "description": "This type represents a parameter to select the mode of canceling an ongoing NS LCM operation occurrence. It shall comply with the provisions defined in Table 6.5.2.16-1..\n", - "type": "object", - "required": [ - "cancelMode" - ], - "properties": { - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", - "type": "string", - "enum": [ - "GRACEFUL", - "FORCEFUL" - ] - } - } - } - }, - "description": "The POST request to this resource shall include a CancelMode structure in the payload body to choose between \"graceful\" and \"forceful\" cancellation.\n" - } - } - ], - "responses": { - "202": { - "description": "Accepted\nThe request was accepted for processing, but processing has not been completed. The response shall have an empty payload body.\n", - "headers": { - "Location": { - "description": "The resource URI of the created NS instance", - "type": "string", - "format": "url" - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found Error: The API producer did not find a current representation for the target resource or is not willing to disclose that one exists. Specifically in case of this task resource, the response code 404 shall also be returned if the task is not supported for the NS LCM operation occurrence represented by the parent resource, which means that the task resource consequently does not exist. In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "409 Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the NS LCM operation occurrence resource. Typically, this is due to the fact that the operation occurrence is not in STARTING, PROCESSING or ROLLING_BACK state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "summary": "Subscribe to NS lifecycle change notifications.", - "description": "The POST method creates a new subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.16.3.1-1 and 6.4.16.3.1-2. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate subscription resource (in which case it shall return a \"303 See Other\" response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "LccnSubscriptionRequest" - ], - "properties": { - "LccnSubscriptionRequest": { - "description": "This type represents a subscription request related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.2-1..\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "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\n HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n 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\n 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" - } - } - } - } - } - } - } - }, - "description": "Details of the subscription to be created, as defined in clause 6.5.2.2.\n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location:\" HTTP header that points to the created subscription resource. \n", - "schema": { - "type": "object", - "properties": { - "LccnSubscription": { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "303": { - "description": "See Other.\nA subscription with the same callbackURI and the same filter already exits and the policy of the NFVO is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the NS LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Query multiple subscriptions.", - "description": "Query Subscription Information.\nThe GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "LccnSubscription": { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nInvalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the NS LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read an individual subscription resource.", - "description": "The GET method retrieves information about a subscription by reading an individual subscription resource. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.17.3.2-1 and 6.4.17.3.2-2\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource. \n", - "schema": { - "type": "object", - "properties": { - "LccnSubscription": { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "ROLLED_BACK" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. Specifically in case of this task resource, the reason can also be that the task is not supported for the NS LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Terminate a subscription.", - "description": "The DELETE method terminates an individual subscription. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.17.3.5-1 and 6.4.17.3.5-2.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsLcmOperationOccurrenceNotification": { - "post": { - "summary": "Notify about NS lifecycle change", - "description": "The POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2.\n", - "parameters": [ - { - "name": "NsLcmOperationOccurrenceNotification", - "description": "A notification about lifecycle changes triggered by a NS LCM. operation occurrence. \n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsLcmOperationOccurrenceNotification": { - "type": "object", - "required": [ - "id", - "nsInstanceId", - "nsLcmOpOccId", - "subscriptionId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsLcmOperationOccurrenceNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "notificationStatus": { - "description": "Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence.\n", - "type": "string", - "enum": [ - "START", - "RESULT" - ] - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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. OLLING_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": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "affectedVnf": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "Extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "affectedPnf": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - }, - "affectedVl": { - "description": "Information about the VL instances that were affected during the lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "virtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "affectedVnffg": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNs": { - "description": "Information about the SAP instances that were affected during the lifecycle operation. See note.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedSap": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "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" - } - } - }, - "_links": { - "description": "This type represents the links to resources that a notification can contain.\n", - "type": "object", - "required": [ - "nsInstance" - ], - "properties": { - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "lcOpOcc": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content \nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsIdentifierCreationNotification": { - "post": { - "summary": "Notify about NS lifecycle change", - "description": "The POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2.\n", - "parameters": [ - { - "name": "NsIdentifierCreationNotification", - "description": "A notification about the creation of a NS identifier and the related NS instance resource.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsIdentifierCreationNotification": { - "type": "object", - "required": [ - "subscriptionId", - "nsInstanceId" - ], - "properties": { - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "This type represents the links to resources that a notification can contain.\n", - "type": "object", - "required": [ - "nsInstance" - ], - "properties": { - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "lcOpOcc": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-NsIdentifierDeletionNotification": { - "post": { - "summary": "Notify about NS lifecycle change", - "description": "The POST method delivers a notification from the server to the client. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.18.3.1-1 and 6.4.18.3.1-2.\n", - "parameters": [ - { - "name": "NsIdentifierDeletionNotification", - "description": "A notification about the deletion of a NS identifier and the related NS instance resource.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "NsIdentifierDeletionNotification": { - "type": "object", - "required": [ - "subscriptionId", - "nsInstanceId" - ], - "properties": { - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "This type represents the links to resources that a notification can contain.\n", - "type": "object", - "required": [ - "nsInstance" - ], - "properties": { - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "lcOpOcc": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Test the notification endpoint.", - "description": "Query NS Instances.\nThe GET method queries information about multiple NS instances. This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the Tables 6.4.2.3.2-1 and 6.4.2.3.2-2.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification endpoint was tested successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Error: Invalid attribute selector. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "Not Acceptable If the Accept HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The ProblemDetails structure may be omitted in that case. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot index d5f80841538ea684ffc4c9eb15bb30917f7f9b25..034f7af8e2d3013e6a6663c09944c60c33ed85f0 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Scale a nsInstance ... Test title: POST Scale a nsInstance ... Test objective: The objective is to test that POST method scales NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Instantiate a nsInstance Conflict ... Test title: POST Instantiate a nsInstance Conflict ... Test objective: The objective is to test that POST method cannot scale NS instance because of conflict in resource status (i.e. because the resource is in not in NOT_INSTANTIATED state) ... Pre-conditions: the resource is in not in NOT_INSTANTIATED state - ... Reference: clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Scale NS operation is not triggered on the NFVO @@ -40,7 +40,7 @@ GET Scale NSInstance- Method not implemented ... Test title: GET Scale NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Scale NSInstance - Method not implemented ... Test title: PUT Scale NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Scale NSInstance - Method not implemented ... Test title: PATCH Scale NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Scale NSInstance - Method not implemented ... Test title: DELETE Scale NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot index eb1445037ec29f0ac1bfa51a7635497132e7acea..bdcf5e86a26979d6d83b69371ece4b5b9e8d485d 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -10,11 +10,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Scale Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.21 + [Documentation] Test ID: 5.3.2.22.1 ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: clause 6.4.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/Subscriptions.robot b/SOL005/NSLifecycleManagement-API/Subscriptions.robot index a7235f29ffdae62c2e6bb660776313f59e21bd9b..5b4916c93703e7e225df6e05ba4fccfc025747d8 100644 --- a/SOL005/NSLifecycleManagement-API/Subscriptions.robot +++ b/SOL005/NSLifecycleManagement-API/Subscriptions.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The objective is to test that POST method create a subscription ... Pre-conditions: none - ... Reference: clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is created in the NFVO @@ -27,7 +27,7 @@ POST Create a new Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The objective is to test that POST method create a duplicate subscription ... Pre-conditions: a subscription shall already exist - ... Reference: clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: duplication supported by NFVO ... Post-Conditions: duplicate subscription is created in the NFVO @@ -41,7 +41,7 @@ POST Create a new Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The objective is to test that POST method cannot create a duplicate subscription ... Pre-conditions: a subscription shall already exist - ... Reference: clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: duplication NOT supported by NFVO ... Post-Conditions: duplicate subscription is not created in the NFVO @@ -54,7 +54,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions ... Pre-conditions: none - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Subscription - Filter ... Test title: GET Subscription - Filter ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using an invalid filter ... Pre-conditions: none - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -106,7 +106,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -119,7 +119,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -132,7 +132,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -141,11 +141,11 @@ GET subscriptions with "exclude_fields" attribute selector Check HTTP Response Body Json Schema Is FmSubscriptions PUT subscriptions - Method not implemented - [Documentation] Test ID: 5.3.2.15.7 + [Documentation] Test ID: 5.3.2.15.11 ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: clause 6.4.16.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -153,11 +153,11 @@ PUT subscriptions - Method not implemented Check HTTP Response Status Code Is 405 PATCH subscriptions - Method not implemented - [Documentation] Test ID: 5.3.2.15.8 + [Documentation] Test ID: 5.3.2.15.12 ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: clause 6.4.16.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,13 +165,39 @@ PATCH subscriptions - Method not implemented Check HTTP Response Status Code Is 405 DELETE subscriptions - Method not implemented - [Documentation] Test ID: 5.3.2.15.9 + [Documentation] Test ID: 5.3.2.15.13 ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: clause 6.4.16.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.16.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Subscription is not deleted DELETE subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 + +GET Subscriptions as Paged Response + [Documentation] Test ID: 5.3.2.15.14 + ... Test title: GET Subscriptions as Paged Response + ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions as paged response. + ... Pre-conditions: none + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.2.15.15 + ... Test title: GET subscriptions - Bad Request Response too Big + ... Test objective: The objective is test that the retrieval of active subscriptions list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot index e08e11bd25f970e6b32abd4660e9392f13eb2797..9e9870149c4e7ad783e24e75edb5665f09a6ca23 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -12,7 +12,7 @@ POST Terminate a NSInstance ... Test title: POST Terminate a NSInstance ... Test objective: The objective is to test that POST method terminate the NS ... Pre-conditions: NS instance in INSTANTIATED state - ... Reference: clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance has NOT_INSTANTIATED state @@ -26,7 +26,7 @@ POST Terminate a NSInstance Conflict ... Test title: POST Terminate a NSInstance Conflict ... Test objective: The objective is to test that POST method cannot terminate the NS because of conflict in resource status (i.e. the resource is not in INSTANTIATED state) ... Pre-conditions: NS instance is in NOT_INSTANTIATED state - ... Reference: clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is in NOT_INSTANTIATED state @@ -40,7 +40,7 @@ GET Terminate NSInstance- Method not implemented ... Test title: GET Terminate NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Terminate NSInstance - Method not implemented ... Test title: PUT Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: resource state not modified @@ -64,7 +64,7 @@ PATCH Terminate NSInstance - Method not implemented ... Test title: PATCH Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: resource state not modified @@ -76,7 +76,7 @@ DELETE Terminate NSInstance - Method not implemented ... Test title: DELETE Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: resource state not modified diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot index 05681f5ccc58235e04a7079462f1b59102d5d781..fe25b1042876f5a15f2951f4a666fe8d755570fd 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -10,11 +10,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Terminate Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.22 + [Documentation] Test ID: 5.3.2.23.1 ... Test title: Terminate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Terminate a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: clause 6.4.8 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.8 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in NOT_INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot index 6c7cf1e6b3ad38f5197af7f9f51768e9ef12bf94..b0f3f3569c01a774cc59bb0f1ed6301de20ace7d 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -13,7 +13,7 @@ POST Update a NSInstance ... Test title: POST Update a NSInstance ... Test objective: The objective is to test that POST method update a NS instance ... Pre-conditions: an existing NS Instance - ... Reference: clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is updated on the NFVO @@ -26,7 +26,7 @@ POST Update a NSInstance Conflict ... Test title: POST Update a NSInstance Conflict ... Test objective: The objective is to test that POST method fail if a NS Instance is not existing or is not in NOT_INSTANTIATED state ... Pre-conditions: an existing NS Instance - ... Reference: clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not updated on the NFVO @@ -39,7 +39,7 @@ GET Update NSInstance- Method not implemented ... Test title: GET Update NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Update NSInstance - Method not implemented ... Test title: PUT Update NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not updated on the NFVO @@ -63,7 +63,7 @@ PATCH Update NSInstance - Method not implemented ... Test title: PATCH Update NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not updated on the NFVO @@ -75,7 +75,7 @@ DELETE Update NSInstance - Method not implemented ... Test title: DELETE Update NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not deleted on the NFVO diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot index 844a85b8db5761cc35d3531f086ad6fb1a51a512..053c7b382dc85459547e28fb85d72cbd2d335052 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot @@ -1,7 +1,7 @@ *** Settings *** Resource environment/variables.txt Resource NSLCMOperationKeywords.robot -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ @@ -10,11 +10,11 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Update Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.23 + [Documentation] Test ID: 5.3.2.24.1 ... Test title: Update Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Update a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: clause 6.4.6 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.6 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/environment/variables.txt b/SOL005/NSLifecycleManagement-API/environment/variables.txt index 9efaee81e5c3e94b7624517650be63cbf2042229..94a133ae40765be6092abcd73f89f7db450a59b9 100644 --- a/SOL005/NSLifecycleManagement-API/environment/variables.txt +++ b/SOL005/NSLifecycleManagement-API/environment/variables.txt @@ -59,4 +59,5 @@ ${Etag}= an etag ${Etag_modified}= a modified etag ${NEG_FILTER} attribute_not_exist=some_value -${NEG_SELECTOR} fields=wrong_field \ No newline at end of file +${NEG_SELECTOR} fields=wrong_field +${json} {} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/jsons/InstantiateNsRequest.json b/SOL005/NSLifecycleManagement-API/jsons/InstantiateNsRequest.json index 821a1e811bad25cf927b6f639762b98a78a5b0c8..e19b6afbb67af87e6d82d9bb913064acacca9083 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/InstantiateNsRequest.json +++ b/SOL005/NSLifecycleManagement-API/jsons/InstantiateNsRequest.json @@ -1,73 +1,11 @@ -{ - "type": "object", - "required": [ - "nsFlavourId" - ], - "properties": { - "nsFlavourId": { - "description": "Identifier of the NS deployment flavor to be instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "sapData": { - "description": "Create data concerning the SAPs of this NS.\n", - "type": "array", - "items": { - "$ref": "#/definitions/SapData" - } - }, - "addpnfData": { - "description": "Information on the PNF(s) that are part of this NS.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AddPnfData" - } - }, - "vnfInstanceData": { - "description": "Specify an existing VNF instance to be used in the NS. If needed, the VNF Profile to be used for this VNF instance is also provided.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfInstanceData" - } - }, - "nestedNsInstanceId": { - "description": "Specify an existing NS instance to be used as a nested NS within the NS.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "localizationLanguage": { - "description": "Defines the location constraints for the VNF to be instantiated as part of the NS instantiation. An example can be a constraint for the VNF to be in a specific geographic location..\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfLocationConstraint" - } - }, - "additionalParamsForNs": { - "description": "Allows the OSS/BSS to provide additional parameter(s) at the NS level (as opposed to the VNF level, which is covered in additionalParamsForVnf)..\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - }, - "additionalParamsForVnf": { - "description": "Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in additionalParamsForNs). This is for VNFs that are to be created by the NFVO as part of the NS instantiation and not for existing VNF that are referenced for reuse..\n", - "type": "array", - "items": { - "$ref": "#/definitions/ParamsForVnf" - } - }, - "startTime": { - "description": "Timestamp indicating the earliest time to instantiate the NS. Cardinality \"0\" indicates the NS instantiation takes place immediately.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "nsInstantiationLevelId": { - "description": "Identifies one of the NS instantiation levels declared in the DF applicable to this NS instance. If not present, the default NS instantiation level as declared in the NSD shall be used.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "additionalAffinityOrAntiAffiniityRule": { - "description": "Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffinityOrAntiAffinityRule" - } - } - } +{ + "nsFlavourId": "floavour_id", + "sapData":[], + "addpnfData":[], + "vnfInstanceData":[], + "nestedNsInstanceData":[], + "locationConstraints":[], + "additionalParamsForNs":{}, + "additionalParamForNestedNs":[], + "additionalParamsForVnf":[] } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/jsons/SOL005_DefReq.json b/SOL005/NSLifecycleManagement-API/jsons/SOL005_DefReq.json deleted file mode 100644 index 14d190d922c44aff27604331f5c85c1315d6a162..0000000000000000000000000000000000000000 --- a/SOL005/NSLifecycleManagement-API/jsons/SOL005_DefReq.json +++ /dev/null @@ -1,2880 +0,0 @@ - -{ - "definitions": { - "CreateNsRequest": { - "type": "object", - "required": [ - "nsdId", - "nsName", - "nsDescription" - ], - "properties": { - "nsdId": { - "description": "Identifier of the NSD that defines the NS instance to be created.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsName": { - "description": "Human-readable name of the NS instance to be created.\n", - "type": "string" - }, - "nsDescription": { - "description": "Human-readable description of the NS instance to be created.\n", - "type": "string" - } - } - }, - "NsInstance": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "Identifier of the NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "Identifier of the NSD on which the NS instance is based.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsdInfoId": { - "description": "Identifier of the NSD information object on which the NS instance is based. This identifier was allocated by the NFVO.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "flavourId": { - "description": "Identifier of the NS deployment flavor applied to the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfInstance" - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/PnfInfo" - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsVirtualLinkInfo" - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnffgInfo" - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/SapInfo" - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsScaleInfo" - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffinityOrAntiAffinityRule" - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "URI of this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Link" - } - }, - "instantiate": { - "description": "Link to the \"instantiate\" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance in NOT_INSTANTIATED state).\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "terminate": { - "description": "Link to the \"terminate\" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state).\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "update": { - "description": "Link to the \"update\" task resource, if the related operation is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state).\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "scale": { - "description": "Link to the \"scale\" task resource, if the related operation is supported for this NS instance, and is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state).\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "heal": { - "description": "Link to the \"heal\" task resource, if the related operation is supported for this NS instance, and is possible based on the current status of this NS instance resource (i.e. NS instance is in INSTANTIATED state).\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - } - } - } - } - }, - "VnfInstance": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "Identifier of the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "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": "Identifier of the VNFD on which the VNF instance is based.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "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": "Software version of the VNF. The value is copied from the VNFD.\n", - "$ref": "#/definitions/Version" - }, - "vnfdVersion": { - "description": "Identifies the version of the VNFD. The value is copied from the VNFD.\n", - "$ref": "#/definitions/Version" - }, - "vnfPkgId": { - "description": "Identifier of information held by the NFVO about the specific VNF package on which the VNF is based. This identifier was allocated by the NFVO. This attribute can be modified with the PATCH method.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfConfigurableProperties": { - "description": "Current values of the configurable properties of the VNF instance. Configurable properties referred in this attribute are declared in the VNFD. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration) and can be modified later, and others can be set only after instantiation. The applicability of certain configuration may depend on the VNF and the required operation of the VNF at a certain point in time. These configurable properties include the following standard attributes, which are declared in the VNFD if auto-scaling and/or auto-healing are supported by the VNF: * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If set to true, auto-scaling is currently enabled. If set to false, auto-scaling is currently disabled. * isAutohealEnabled: If present, the VNF supports auto-healing. If set to true, auto-healing is currently enabled. If set to false, auto-healing is currently disabled. This attribute can be modified with the PATCH method.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - }, - "vimId": { - "description": "Identifier of a VIM that manages resources for the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "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": "Identifier of the VNF deployment flavor applied to this VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "vnfState": { - "description": "The state of the VNF instance.\n", - "$ref": "#/definitions/VnfOperationalStateType" - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfScaleInfo" - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "Identifier of the external CP instance and the related information instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "cpdId": { - "description": "Identifier of the external CPD, VnfExtCpd, in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "$ref": "#/definitions/CpProtocolInfo" - } - }, - "extLinkPortId": { - "description": "Identifier of the \"extLinkPortInfo\" structure inside the the \"extVirtualLinkInfo\" structure. Shall be present if the CP is associated to a link port.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "$ref": "#/definitions/ExtVirtualLinkInfo" - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "$ref": "#/definitions/ExtManagedVirtualLinkInfo" - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "$ref": "#/definitions/MonitoringParameter" - } - }, - "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": { - "$ref": "#/definitions/VnfcResourceInfo" - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfVirtualLinkResourceInfo" - } - }, - "virtualStorageResourceInfo": { - "description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualStorageResourceInfo" - } - } - } - }, - "metadata": { - "description": "Additional VNF-specific metadata describing the VNF instance. Metadata that are writeable are declared in the VNFD. This attribute can be modified with the PATCH method.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - }, - "extensions": { - "description": "VNF-specific attributes that affect the lifecycle management of this VNF instance by the VNFM, or the lifecycle management scripts. Extensions that are writeable are declared in the VNFD. This attribute can be modified with the PATCH method.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "LccnLinks": { - "description": "This type represents the links to resources that a notification can contain.\n", - "type": "object", - "required": [ - "nsInstance" - ], - "properties": { - "nsInstance": { - "description": "Link to the resource representing the NS instance to which the notified change applies..\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "subscription": { - "description": "Link to the subscription that triggered this notification.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - }, - "lcOpOcc": { - "description": "Link to the lifecycle operation occurrence that this notification is related to. Shall be present if there is a related lifecycle operation occurrence\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - } - } - }, - "Version": { - "description": "A Version.\n", - "type": "string" - }, - "VnfOperationalStateType": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "VnfScaleInfo": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the scaling aspect.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "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" - } - } - }, - "PnfInfo": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "Identifier of the PNF. This identifier is allocated by the OSS/BSS.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "Identifier of the PNFD on which the PNF is based.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfdInfoId": { - "description": "Identifier of the PNFD information onject related to this PNF. This identifier is allocated by the NFVO\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfProfileId": { - "description": "Identifier of the related PnfProfile in the NSD on which the PNF is based.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "cpInfo": { - "description": "Information on the external CP of the PNF.\n", - "$ref": "#/definitions/PnfExtCpInfo" - } - } - }, - "PnfExtCpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInPnf" - }, - "cpdId": { - "description": "Identifier of (reference to) the Connection Point Descriptor (CPD) for this CP.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/CpProtocolData" - } - } - } - }, - "NsVirtualLinkInfo": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "Identifier of the VL instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - }, - "nsVirtualLinkDescId": { - "description": "Identifier of the VLD in the NSD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsLinkPortInfo" - } - } - } - }, - "VnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "Identifier of this VNFFG instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnffgdId": { - "description": "Identifier of the VNFFGD in the NSD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsCpHandle" - } - } - } - }, - "NsCpHandle": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "Identifier of the VNF instance associated to the CP instance. This attribute shall be present if the CP instance is VNF external CP.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfExtCpInstanceId": { - "description": "Identifier of the VNF external CP instance in the scope of the VNF instance. This attribute shall be present if the CP instance is VNF external CP. See notes 1 and 4.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "pnfInfoId": { - "description": "Identifier of the PNF instance associated to the CP instance. This attribute shall be present if the CP instance is PNF external CP. See notes 2 and 4.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the PNF external CP instance in the scope of the PNF. This attribute shall be present if the CP instance is PNF external CP. See notes 2 and 4.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInPnf" - }, - "nsInstanceId": { - "description": "Identifier of the NS instance associated to the SAP instance. This attribute shall be present if the CP instance is NS SAP. See notes 3 and 4.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsSapInstanceId": { - "description": "Identifier of the SAP instance in the scope of the NS instance. This attribute shall be present if the CP instance is NS SAP. See notes 3 and 4.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - } - } - }, - "SapInfo": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", - "type": "object", - "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" - ], - "properties": { - "id": { - "description": "Identifier of the SAP instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - }, - "sapdId": { - "description": "Identifier of the SAPD in the NSD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" - }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", - "type": "array", - "items": { - "$ref": "#/definitions/CpProtocolInfo" - } - } - } - }, - "CpProtocolInfo": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", - "type": "object", - "required": [ - "layerProtocol", - "ipOverEthernet" - ], - "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "IP addresses over Ethernet to assign to the CP or SAP instance. Shall be present if layerProtocol is equal to \" IP_OVER_ETHERNET\", and shall be absent otherwise.\n", - "$ref": "#/definitions/IpOverEthernetAddressInfo" - } - } - }, - "IpOverEthernetAddressInfo": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "addressRange" - ], - "properties": { - "macAddress": { - "description": "Assigned MAC address.\n", - "$ref": "SOL005_def.yaml#/definitions/MacAddress" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - } - }, - "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": "Lowest IP address belonging to the range.\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - }, - "maxAddress": { - "description": "Highest IP address belonging to the range\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - } - } - }, - "subnetId": { - "description": "Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses are bound to that subnet.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVim" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). See note.\n", - "type": "array", - "items": null, - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - }, - "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. See note.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "Lowest IP address belonging to the range.\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - }, - "maxAddress": { - "description": "Highest IP address belonging to the range\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - } - } - }, - "minAddress": { - "description": "Lowest IP address belonging to the range\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - }, - "maxAddress": { - "description": "Highest IP address belonging to the range.\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddress" - }, - "subnetId": { - "description": "Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses are bound to that subnet.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVim" - } - } - }, - "ExtVirtualLinkInfo": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "Identifier of the external VL and the related external VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "resourceHandle": { - "description": "Reference to the resource realizing this VL.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "$ref": "#/definitions/ExtLinkPortInfo" - } - } - } - }, - "ExtLinkPortInfo": { - "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": "Identifier of this link port as provided by the entity that has created the link port.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "resourceHandle": { - "description": "Reference to the virtualised resource realizing this link port.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "cpInstanceId": { - "description": "Identifier of the external CP of the VNF connected to this link port. There shall be at most one link port associated with any external connection point instance. The value refers to an \"extCpInfo\" item in the VnfInstance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - } - } - }, - "ExtManagedVirtualLinkInfo": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "Identifier of the externally-managed internal VL and the related externally-managed VL information instance. The identifier is assigned by the NFV-MANO entity that manages this VL instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "networkResource": { - "description": "Reference to the VirtualNetwork resource.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfLinkPortInfo" - } - } - } - }, - "VnfLinkPortInfo": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "Identifier of this link port as provided by the entity that has created the link port.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "resourceHandle": { - "description": "Reference to the virtualised network resource realizing this link port.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "cpInstanceId": { - "description": "When the link port is used for external connectivity by the VNF, this attribute represents the identifier of the external CP of the VNF to be connected to this link port. When the link port is used for internal connectivity in the VNF, this attribute represents the VNFC CP to be connected to this link port. Shall be present when the link port is used for external connectivity by the VNF. may be present if used to reference a VNFC CP instance. There shall be at most one link port associated with any external connection point instance or internal connection point (i.e. VNFC CP) instance. The value refers to an \"extCpInfo\" item in the VnfInstance or a \"vnfcCpInfo\" item of a \"vnfcResouceInfo\" item in the VnfInstance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - } - } - }, - "MonitoringParameter": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the monitoring parameter defined in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - }, - "VnfcResourceInfo": { - "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": "Identifier of this VnfcResourceInfo instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "vduId": { - "description": "Reference to the applicable VDU in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "computeResource": { - "description": "Reference to the VirtualCompute resource.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "reservationId": { - "description": "The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "Identifier of this VNFC CP instance and the associated array entry.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "cpdId": { - "description": "Identifier of the VDU CPD, cpdId, in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "vnfExtCpId": { - "description": "When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { - "$ref": "#/definitions/CpProtocolInfo" - } - }, - "vnfLinkPortId": { - "description": "Identifier of the \"vnfLinkPorts\" structure in the \"vnfVirtualLinkResourceInfo\" structure. Shall be present if the CP is associated to a link port.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - } - } - } - }, - "metadata": { - "description": "Metadata about this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "VnfVirtualLinkResourceInfo": { - "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": "Identifier of this VnfVirtualLinkResourceInfo instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "networkResource": { - "description": "Reference to the VirtualNetwork resource.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "reservationId": { - "description": "The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "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": { - "$ref": "#/definitions/VnfLinkPortInfo" - } - }, - "metadata": { - "description": "Metadata about this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "VirtualStorageResourceInfo": { - "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": "Identifier of this VirtualStorageResourceInfo instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "virtualStorageDescId": { - "description": "Identifier of the VirtualStorageDesc in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "storageResource": { - "description": "Reference to the VirtualStorage resource.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "reservationId": { - "description": "The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "metadata": { - "description": "Metadata about this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "NsLinkPortInfo": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "Identifier of this link port as provided by the entity that has created the link port.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "resourceHandle": { - "description": "Identifier of the virtualised network resource realizing this link port.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsCpHandle" - } - } - } - }, - "AffinityOrAntiAffinityRule": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - } - }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - }, - "InstantiateNsRequest": { - "type": "object", - "required": [ - "nsFlavourId" - ], - "properties": { - "nsFlavourId": { - "description": "Identifier of the NS deployment flavor to be instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "sapData": { - "description": "Create data concerning the SAPs of this NS.\n", - "type": "array", - "items": { - "$ref": "#/definitions/SapData" - } - }, - "addpnfData": { - "description": "Information on the PNF(s) that are part of this NS.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AddPnfData" - } - }, - "vnfInstanceData": { - "description": "Specify an existing VNF instance to be used in the NS. If needed, the VNF Profile to be used for this VNF instance is also provided.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfInstanceData" - } - }, - "nestedNsInstanceId": { - "description": "Specify an existing NS instance to be used as a nested NS within the NS.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "localizationLanguage": { - "description": "Defines the location constraints for the VNF to be instantiated as part of the NS instantiation. An example can be a constraint for the VNF to be in a specific geographic location..\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfLocationConstraint" - } - }, - "additionalParamsForNs": { - "description": "Allows the OSS/BSS to provide additional parameter(s) at the NS level (as opposed to the VNF level, which is covered in additionalParamsForVnf)..\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - }, - "additionalParamsForVnf": { - "description": "Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in additionalParamsForNs). This is for VNFs that are to be created by the NFVO as part of the NS instantiation and not for existing VNF that are referenced for reuse..\n", - "type": "array", - "items": { - "$ref": "#/definitions/ParamsForVnf" - } - }, - "startTime": { - "description": "Timestamp indicating the earliest time to instantiate the NS. Cardinality \"0\" indicates the NS instantiation takes place immediately.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "nsInstantiationLevelId": { - "description": "Identifies one of the NS instantiation levels declared in the DF applicable to this NS instance. If not present, the default NS instantiation level as declared in the NSD shall be used.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "additionalAffinityOrAntiAffiniityRule": { - "description": "Specifies additional affinity or anti-affinity constraint for the VNF instances to be instantiated as part of the NS instantiation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffinityOrAntiAffinityRule" - } - } - } - }, - "ParamsForVnf": { - "description": "This type defines the additional parameters for the VNF instance to be created associated with an NS instance. It shall comply with the provisions defined in Table 6.5.3.22-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "Identifier of (reference to) a vnfProfile to which the additional parameters apply.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "additionalParams": { - "description": "Additional parameters that are applied for the VNF instance to be created.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "LocationConstraints": { - "description": "This type represents location constraints for a VNF to be instantiated. The location constraints shall be presented as a country code, optionally followed by a civic address based on the format defined by IETF RFC 4776 [13].\n", - "type": "object", - "required": [ - "countryCode" - ], - "properties": { - "countryCode": { - "description": "The two-letter ISO 3166 [29] country code in capital letters.\n", - "type": "string" - }, - "civicAddressElement": { - "description": "Zero or more elements comprising the civic address.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "caType", - "caValue" - ], - "properties": { - "caType": { - "description": "Describe the content type of caValue. The value of caType shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "integer" - }, - "caValue": { - "description": "Content of civic address element corresponding to the caType. The format caValue shall comply with Section 3.4 of IETF RFC 4776 [13].\n", - "type": "string" - } - } - } - } - } - }, - "VnfLocationConstraint": { - "description": "This type represents the association of location constraints to a VNF instance to be created according to a specific VNF profile. It shall comply with the provisions defined in Table 6.5.3.20-1.\n", - "type": "object", - "required": [ - "vnfProfileId" - ], - "properties": { - "vnfProfileId": { - "description": "Identifier of (reference to) a vnfProfile to which the additional parameters apply.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "locationConstraints": { - "description": "Defines the location constraints for the VNF instance to be created based on the VNF profile.\n", - "$ref": "#/definitions/LocationConstraints" - } - } - }, - "VnfInstanceData": { - "description": "This type specifies an existing VNF instance to be used in the NS instance and if needed, the VNF Profile to use for this VNF instance. It shall comply with the provisions defined in Table 6.5.3.19-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "Identifier of the existing VNF instance to be used in the NS.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfProfileId": { - "description": "Identifier of (Reference to) a vnfProfile defined in the NSD which the existing VNF instance shall be matched with. If not present, the NFVO will select the VnfProfile matching the information in the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - } - } - }, - "SapData": { - "description": "This type represents the information related to a SAP of a NS. It shall comply with the provisions defined in Table 6.5.3.10-1.\n", - "type": "object", - "required": [ - "sapdId", - "sapName", - "description" - ], - "properties": { - "sapdId": { - "description": "Reference to the SAPD for this SAP.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP.\n", - "type": "string" - }, - "sapProtocolData": { - "description": "Parameters for configuring the network protocols on the SAP.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/CpProtocolData" - } - } - } - }, - "ScaleNsRequest": { - "description": "This type represents a request for the scale NS operation.\n", - "type": "object", - "required": [ - "scaleType" - ], - "properties": { - "scaleType": { - "description": "Indicates the type of scaling to be performed. Possible values: - SCALE_NS - SCALE_VNF\n", - "type": "string", - "enum": [ - "SCALE_NS", - "SCALE_VNF" - ] - }, - "scaleNsData": { - "description": "The necessary information to scale the referenced NS instance. It shall be present when scaleType = SCALE_NS.\n", - "$ref": "#/definitions/ScaleNsData" - }, - "scaleVnfData": { - "description": "The necessary information to scale the referenced NS instance. It shall be present when scaleType = SCALE_VNF.\n", - "type": "array", - "items": { - "$ref": "#/definitions/ScaleVnfData" - } - }, - "scaleTime": { - "description": "Timestamp indicating the scale time of the NS, i.e. the NS will be scaled at this timestamp. Cardinality \"0\" indicates the NS scaling takes place immediately\".\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - } - } - }, - "UpdateNsRequest": { - "description": "This operation supports the update of a NS instance, It shall comply with the provisions defined in Table 6.5.2.12-1.\n", - "type": "object", - "required": [ - "updateType" - ], - "properties": { - "updateType": { - "description": "The type of update. It determines also which one of the following parameters is present in the operation. Possible values include: * ADD_VNF: Adding existing VNF instance(s) * REMOVE_VNF: Removing VNF instance(s) * INSTANTIATE_VNF: Instantiating new VNF(s) * CHANGE_VNF_DF: Changing VNF DF * OPERATE_VNF: Changing VNF state, * MODIFY_VNF_INFORMATION: Modifying VNF information and/or the configurable properties of VNF instance(s) * CHANGE_EXTERNAL_VNF_CONNECTIVITY: Changing the external connectivity of VNF instance(s)ADD_SAP: Adding SAP(s) * REMOVE_SAP: Removing SAP(s) * ADD_NESTED_NS: Adding existing NS instance(s) as nested NS(s) * REMOVE_NESTED_NS: Removing existing nested NS instance(s) * ASSOC_NEW_NSD_VERSION: Associating a new NSD version to the NS instance * MOVE_VNF: Moving VNF instance(s) from one origin NS instance to another target NS instance * ADD_VNFFG: Adding VNFFG(s) * REMOVE_VNFFG: Removing VNFFG(s) * UPDATE_VNFFG: Updating VNFFG(s) * CHANGE_NS_DF: Changing NS DF * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF\n", - "type": "string", - "enum": [ - "ADD_VNF", - "REMOVE_VNF", - "INSTANTIATE_VNF", - "CHANGE_VNF_DF", - "OPERATE_VNF", - "MODIFY_VNF_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY", - "REMOVE_SAP", - "ADD_NESTED_NS", - "REMOVE_NESTED_NS", - "ASSOC_NEW_NSD_VERSION", - "MOVE_VNF", - "ADD_VNFFG", - "REMOVE_VNFFG", - "UPDATE_VNFFG", - "CHANGE_NS_DF", - "ADD_PNF", - "MODIFY_PNF", - "REMOVE_PNF" - ] - }, - "addVnfIstance": { - "description": "Identifies an existing VNF instance to be added to the NS instance. It shall be present only if updateType = \"ADD_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfInstanceData" - } - }, - "removeVnfInstanceId": { - "description": "Identifies an existing VNF instance to be removed from the NS instance. It contains the identifier(s) of the VNF instances to be removed. It shall be present only if updateType = \"REMOVE_VNF.\" Note: If a VNF instance is removed from a NS and this NS was the last one for which this VNF instance was a part, the VNF instance is terminated by the NFVO.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "instantiateVnfData": { - "description": "Identifies the new VNF to be instantiated. It can be used e.g. for the bottom-up NS creation. It shall be present only if updateType = \"INSTANTIATE_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/InstantiateVnfData" - } - }, - "changeVnfFlavourData": { - "description": "Identifies the new DF of the VNF instance to be changed to. It shall be present only if updateType = \"CHANGE_VNF_DF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ChangeVnfFlavourData" - } - }, - "operateVnfData": { - "description": "Identifies the state of the VNF instance to be changed. It shall be present only if updateType = \"OPERATE_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/OperateVnfData" - } - }, - "modifyVnfInfoData": { - "description": "Identifies the VNF information parameters and/or the configurable properties of VNF instance to be modified. It shall be present only if updateType = \"MODIFY_VNF_INFORMATION\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ModifyVnfInfoData" - } - }, - "changeExtVnfConnectivityData": { - "description": "Specifies the new external connectivity data of the VNF instance to be changed. It shall be present only if updateType = \"CHANGE_EXTERNAL_VNF_CONNECTIVITY\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ChangeExtVnfConnectivityData" - } - }, - "addSap": { - "description": "Identifies a new SAP to be added to the NS instance. It shall be present only if updateType = \"ADD_SAP.\"\n", - "type": "array", - "items": { - "$ref": "#/definitions/SapData" - } - }, - "removeSapId": { - "description": "The identifier an existing SAP to be removed from the NS instance. It shall be present only if updateType = \"REMOVE_SAP.\"\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "addNestedNsId": { - "description": "The identifier of an existing nested NS instance to be added to (nested within) the NS instance. It shall be present only if updateType = \"ADD_NESTED_NS\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "removeNestedNsId": { - "description": "The identifier of an existing nested NS instance to be removed from the NS instance. It shall be present only if updateType = \"REMOVE_NESTED_NS\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - } - }, - "assocNewNsdVersionData": { - "description": "Specify the new NSD to be used for the NS instance. It shall be present only if updateType = ASSOC_NEW_NSD_VERSION\".\n", - "$ref": "#/definitions/AssocNewNsdVersionData" - }, - "moveVnfInstanceData": { - "description": "Specify existing VNF instance to be moved from one NS instance to another NS instance. It shall be present only if updateType = MOVE_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/MoveVnfInstanceData" - } - }, - "addVnffg": { - "description": "Specify the new VNFFG to be created to the NS Instance. It shall be present only if updateType = \"ADD_VNFFG\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/AddVnffgData" - } - }, - "removeVnffgId": { - "description": "Identifier of an existing VNFFG to be removed from the NS Instance. It shall be present only if updateType = \"REMOVE_VNFFG\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "updateVnffg": { - "description": "Specify the new VNFFG Information data to be updated for a VNFFG of the NS Instance. It shall be present only if updateType = \"UPDATE_VNFFG\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/UpdateVnffgData" - } - }, - "changeNsFlavourData": { - "description": "Specifies the new DF to be applied to the NS instance. It shall be present only if updateType = \"CHANGE_NS_DF\".\n", - "$ref": "#/definitions/ChangeNsFlavourData" - }, - "addPnfData": { - "description": "specifies the PNF to be added into the NS instance. It shall be present only if updateType = \"ADD_PNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/AddPnfData" - } - }, - "modifyPnfData": { - "description": "Specifies the PNF to be modified in the NS instance. It shall be present only if updateType = \"MODIFY_PNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ModifyPnfData" - } - }, - "removePnfId": { - "description": "Identifier of the PNF to be deleted from the NS instance. It shall be present only if updateType = \"REMOVE_PNF\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "updateTime": { - "description": "Timestamp indicating the update time of the NS, i.e. the NS will be updated at this timestamp. Cardinality \"0\" indicates the NS update takes place immediately.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - } - } - }, - "InstantiateVnfData": { - "description": "This type represents the information related to a SAP of a NS. The InstantiateVnfData data type specifies the parameters that are needed for VNF instantiation. This information element is used for the bottom-up NS creation when the OSS/BSS explicitly requests VNF instantiation for a given NS. When the NFVO invokes the Instantiate VNF update operation, a set of these parameters are then passed by the NFVO to the VNFM. It shall comply with the provisions defined in Table 6.5.3.24-1.\n", - "type": "object", - "required": [ - "vnfdId", - "vnfFlavourId" - ], - "properties": { - "vnfdId": { - "description": "Information sufficient to identify the VNFD which defines the VNF to be instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfFlavourId": { - "description": "Identifier of the VNF deployment flavor to be instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "vnfInstantiationLevelId": { - "description": "Identifier of the instantiation level of the deployment flavor to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "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" - }, - "extVirtualLinks": { - "description": "Information about external VLs to connect the VNF to.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/ExtVirtualLinkData" - } - }, - "extManagedVirtualLinks": { - "description": "Information about internal VLs that are managed by other entities than the VNFM.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/ExtManagedVirtualLinkData" - } - }, - "localizationLanguage": { - "description": "Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646 [16].\n", - "type": "string" - }, - "additionalParams": { - "description": "Additional input parameters for the instantiation process, specific to the VNF being instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "ChangeVnfFlavourData": { - "description": "The type represents the information that is requested to be changed deployment flavor for an existing VNF instance. It shall comply with the provisions defined in Table 6.5.3.25-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "newFlavourId" - ], - "properties": { - "vnfInstanceId": { - "description": "Identifier of the VNF instance to be modified.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "newFlavourId": { - "description": "Identifier of the VNF deployment flavor to be instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "instantiationLevelId": { - "description": "Identifier of the instantiation level of the deployment flavor to be instantiated. If not present, the default instantiation level as declared in the VNFD is instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "extVirtualLinks": { - "description": "Information about external VLs to connect the VNF to.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/ExtVirtualLinkData" - } - }, - "extManagedVirtualLinks": { - "description": "information about internal VLs that are managed by NFVO.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/ExtManagedVirtualLinkData" - } - }, - "additionalParams": { - "description": "Additional input parameters for the flavor change process, specific to the VNF being modified, as declared in the VNFD as part of \"ChangeVnfFlavourOpConfig\".\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "OperateVnfData": { - "description": "This type represents a VNF instance for which the operational state needs to be changed and the requested new state. It shall comply with the provisions defined in Table 6.5.3.31-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "changeStateTo" - ], - "properties": { - "vnfInstanceId": { - "description": "Identifier of the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "changeStateTo": { - "description": "The desired operational state (i.e. started or stopped) to change the VNF to.\n", - "$ref": "#/definitions/OperationalStates" - }, - "stopType": { - "description": "It signals whether forceful or graceful stop is requested.\n", - "$ref": "#/definitions/StopType" - }, - "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.\n", - "type": "integer" - } - } - }, - "OperationalStates": { - "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 immediately after accepting the request.\n* GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once that operation is successful or once\n the timer value specified in the \"gracefulStopTimeout\" attribute\n expires, the VNFM will stop the VNF.\n", - "type": "string", - "enum": [ - "FORCEFUL", - "GRACEFUL" - ] - }, - "ModifyVnfInfoData": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "Identifier of the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "New value of the \"vnfPkgId\" attribute in \"VnfInstance\". The value \"null\" is not permitted\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfConfigurableProperties": { - "description": "Modifications to entries in the \"vnfConfigurableProperties\" list, as defined below this Table.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - }, - "Metadata": { - "description": "Modifications to entries in the \"metadata\" list, as defined below this Table.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - }, - "Extensions": { - "description": "Modifications to entries in the \"extensions\" list, as defined below this Table.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "ChangeExtVnfConnectivityData": { - "description": "This type describes the information invoked by the NFVO to change the external VNF connectivity information maintained by the VNFM. The types of changes that this operation supports are: 1) Disconnect the external CPs that are connected to a particular external VL, and connect them to a different external VL. 2) Change the connectivity parameters of the existing external CPs, including changing addresses. NOTE: Depending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP address assignment) might not be supported without deleting the resource and creating another one with the modified configuration. This type shall comply with the provisions defined in Table 6.5.3.33-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "extVirtualLink" - ], - "properties": { - "vnfInstanceId": { - "description": "Identifier of the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "extVirtualLink": { - "description": "Information about external VLs to change (e.g. connect the VNF to).\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/ExtVirtualLinkData" - } - }, - "additionalParams": { - "description": "Additional parameters passed by the OSS as input to the external connectivity change process, specific to the VNF instance being changed.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "AssocNewNsdVersionData": { - "description": "This type specifies a new NSD version that is associated to the NS instance. After issuing the Update NS operation with updateType = \"AssocNewNsdVersion\", the NFVO shall use the referred NSD as a basis for the given NS instance. Different versions of the same NSD have same nsdInvariantId, but different nsdId attributes, therefore if the nsdInvariantId of the NSD version that is to be associated to this NS instance is different from the one used before, the NFVO shall reject the request. Only new versions of the same NSD can be associated to an existing NS instance. This data type shall comply with the provisions defined in Table 6.5.3.34-1.\n", - "type": "object", - "required": [ - "newNsdId" - ], - "properties": { - "newNsdId": { - "description": "Identifier of the new NSD version that is to be associated to the NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "sync": { - "description": "Specify whether the NS instance shall be automatically synchronized to the new NSD by the NFVO (in case of true value) or the NFVO shall not do any action (in case of a false value) and wait for further guidance from OSS/BSS (i.e. waiting for OSS/BSS to issue NS lifecycle management operation to explicitly add/remove VNFs and modify information of VNF instances according to the new NSD). The synchronization to the new NSD means e.g. instantiating/adding those VNFs whose VNFD is referenced by the new NSD version but not referenced by the old one, terminating/removing those VNFs whose VNFD is referenced by the old NSD version but not referenced by the new NSD version, modifying information of VNF instances to the new applicable VNFD provided in the new NSD version. A cardinality of 0 indicates that synchronization shall not be done.\n", - "type": "boolean" - } - } - }, - "MoveVnfInstanceData": { - "description": "This type specifies existing VNF instances to be moved from one NS instance (source) to another NS instance (destination). The NS instance defined in the Update NS operation indicates the source NS instance and the destination NS instance is specified in this data type (referred to targetNsInstanceId). It shall comply with the provisions defined in Table 6.5.3.35-1.\n", - "type": "object", - "required": [ - "targetNsInstanceId" - ], - "properties": { - "targetNsInstanceId": { - "description": "Specify the target NS instance where the VNF instances are moved to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfInstanceId": { - "description": "Specify the VNF instance that is moved.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - } - } - }, - "AddVnffgData": { - "description": "This type specifies the parameters used for the creation of a new VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.36-1.\n", - "type": "object", - "required": [ - "vnffgdId", - "vnffgName", - "description" - ], - "properties": { - "targetNsInstanceId": { - "description": "Identifier of the VNFFGD used to create this VNFFG instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "vnffgName": { - "description": "Human readable name for the VNFFG.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the VNFFG.\n", - "type": "string" - } - } - }, - "UpdateVnffgData": { - "description": "This type specifies the parameters used for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.37-1.\n", - "type": "object", - "required": [ - "vnffgInfoId" - ], - "properties": { - "vnffgInfoId": { - "description": "Identifier of an existing VNFFG to be updated for the NS Instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - }, - "nfp": { - "description": "Indicate the desired new NFP(s) for a given VNFFG after the operations of addition/removal of NS components (e.g. VNFs, VLs, etc.) have been completed, or indicate the updated or newly created NFP classification and selection rule which applied to an existing NFP.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NfpData" - } - }, - "nfpInfoId": { - "description": "Identifier(s) of the NFP to be deleted from a given VNFFG.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - } - } - } - }, - "NfpData": { - "description": "This type contains information used to create or modify NFP instance parameters for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.38-1.\n", - "type": "object", - "properties": { - "nfpInfoId": { - "description": "Identifier of the NFP to be modified. It shall be present for modified NFPs and shall be absent for the new NFP.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - }, - "nfpName": { - "description": "Human readable name for the NFP. It shall be present for the new NFP, and it may be present otherwise.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the NFP. It shall be present for the new NFP, and it may be present otherwise.\n", - "type": "string" - }, - "nsCpHandle": { - "description": "Identifier(s) of the CPs and SAPs which the NFP passes by. Cardinality can be 0 if only updated or newly created NFP classification and selection rule which applied to an existing NFP is provided.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsCpHandle" - } - }, - "nfpRule": { - "description": "NFP classification and selection rule. See note 1.\n", - "$ref": "#/definitions/NfpRule" - } - } - }, - "NfpRule": { - "description": "The NfpRule data type is an expression of the conditions that shall be met in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and it is met only if all the values expressed in the condition are matched by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1.\n", - "type": "object", - "properties": { - "etherDestinationAddress": { - "description": "Indicates a destination Mac address.\n", - "$ref": "SOL005_def.yaml#/definitions/MacAddress" - }, - "etherSourceAddress": { - "description": "Indicates a source Mac address.\n", - "$ref": "SOL005_def.yaml#/definitions/MacAddress" - }, - "etherType": { - "description": "Human readable description for the VNFFG.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "vlanTag": { - "description": "Indicates a VLAN identifier in an IEEE 802.1Q-2014 tag [6] Multiple tags can be included for QinQ stacking. See note.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/String" - } - }, - "protocol": { - "description": "Indicates the L4 protocol, For IPv4 [7] this corresponds to the field called \"Protocol\" to identify the next level protocol. For IPv6 [28] this corresponds to the field is called the \"Next Header\" field. Permitted values: Any keyword defined in the IANA protocol registry [1], e.g.: TCP UDP ICMP\n", - "type": "string", - "enum": [ - "TCP", - "UDP", - "ICMP" - ] - }, - "dscp": { - "description": "For IPv4 [7] a string of \"0\" and \"1\" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. For IPv6 [28] a string of \"0\" and \"1\" digits that corresponds to the 6 differentiated services bits of the traffic class header field\n", - "type": "string" - }, - "sourcePortRange": { - "description": "Indicates a range of source ports\n", - "$ref": "SOL005_def.yaml#/definitions/PortRange" - }, - "destinationPortRange": { - "description": "Indicates a range of destination ports.\n", - "$ref": "SOL005_def.yaml#/definitions/PortRange" - }, - "sourceIpAddressPrefix": { - "description": "Indicates the source IP address range in CIDR format.\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddressPrefix" - }, - "destinationIpAddressPrefix": { - "description": "Indicates the destination IP address range in CIDR format.\n", - "$ref": "SOL005_def.yaml#/definitions/IpAddressPrefix" - }, - "extendedCriteria": { - "description": "Indicates values of specific bits in a frame.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Mask" - } - } - } - }, - "ChangeNsFlavourData": { - "description": "This type specifies an existing NS instance for which the DF needs to be changed. This specifies the new DF, the instantiationLevel of the new DF that may be used and the additional parameters as input for the flavour change. It shall comply with the provisions defined in Table 6.5.3.39-1.\n", - "type": "object", - "required": [ - "newNsFlavourId" - ], - "properties": { - "newNsFlavourId": { - "description": "Identifier of an existing VNFFG to be updated for the NS Instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "instantiationLevelId": { - "description": "Identifier of the instantiation level of the deployment flavour to be instantiated. If not present, the default instantiation level as declared in the NSD is instantiated.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - } - } - }, - "AddPnfData": { - "description": "This type specifies an PNF to be added to the NS instance and the PNF Profile to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfName", - "pnfdId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "Identifier of the PNF. This identifier is allocated by the OSS/BSS.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfName": { - "description": "Name of the PNF\n", - "type": "string" - }, - "pnfdId": { - "description": "Identifier of the PNFD on which the PNF is based.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfProfileId": { - "description": "Identifier of related PnfProfile in the NSD on which the PNF is based.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "cpData": { - "description": "Address assigned for the PNF external CP(s).\n", - "type": "array", - "items": { - "$ref": "#/definitions/PnfExtCpData" - } - } - } - }, - "PnfExtCpData": { - "description": "This type represents the configuration data on the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.16-1.\n", - "type": "object", - "required": [ - "cpProtocolData" - ], - "properties": { - "cpInstanceI16": { - "description": "Identifier of the CP. Shall be present for existing CP.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInPnf" - }, - "cpdId": { - "description": "Identifier of the Connection Point Descriptor (CPD) for this CP. Shall be present for new CP.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "cpProtocolData": { - "description": "Address assigned for this CP.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/CpProtocolData" - } - } - } - }, - "ModifyPnfData": { - "description": "This type specifies an PNF to be modified in the NS instance. It shall comply with the provisions defined in Table 6.5.3.15-1.\n", - "type": "object", - "required": [ - "pnfId" - ], - "properties": { - "pnfId": { - "description": "Identifier of the PNF. This identifier is allocated by the OSS/BSS.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpData": { - "description": "Address assigned for the PNF external CP(s).\n", - "type": "array", - "items": { - "$ref": "#/definitions/PnfExtCpData" - } - } - } - }, - "AffectedVirtualLink": { - "description": "This type provides information about added, deleted, modified and temporary VLs.\n", - "type": "object", - "required": [ - "id", - "virtualLinkDescId", - "changeType", - "networkResource" - ], - "properties": { - "id": { - "description": "Identifier of the virtual link instance, identifying the applicable \"vnfVirtualLinkResourceInfo\" entry in the \"VnfInstance\" data type.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "virtualLinkDescId": { - "description": "Identifier of the related VLD in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", - "type": "string", - "enum": [ - "ADDED", - "REMOVED", - "MODIFIED", - "TEMPORARY", - "LINK_PORT_ADDED", - "LINK_PORT_REMOVED" - ] - }, - "networkResource": { - "description": "Reference to the VirtualNetwork resource. Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "metadata": { - "description": "Metadata about this resource. The content of this attribute shall be a copy of the content of the \"metadata\" attribute of the VnfVirtualLinkResourceInfo structure.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "AffectedVirtualStorage": { - "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": "Identifier of the storage instance, identifying the applicable \"virtualStorageResourceInfo\" entry in the \"VnfInstance\" data type.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnf" - }, - "virtualStorageDescId": { - "description": "Identifier of the related VirtualStorage descriptor in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "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": { - "description": "Reference to the VirtualStorage resource. Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM.\n", - "$ref": "SOL005_def.yaml#/definitions/ResourceHandle" - }, - "metadata": { - "description": "Metadata about this resource. The content of this attribute shall be a copy of the content of the \"metadata\" attribute of the VirtualStorageResourceInfo structure.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "AffectedVnf": { - "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId" - ], - "properties": { - "vnfInstanceId": { - "description": "Identifier of the VNF instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfdId": { - "description": "Identifier of the VNFD of the VNF Instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "vnfProfileId": { - "description": "Identifier of the VNF profile of the NSD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "changedVnfInfo": { - "description": "Information about the changed VNF instance information, including configurable properties, if applicable.\n", - "$ref": "#/definitions/ModifyVnfInfoData" - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable.\n", - "$ref": "#/definitions/ExtVirtualLinkInfo" - } - } - } - } - }, - "AffectedPnf": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "Identifier of the affected PNF. This identifier is allocated by the OSS/BSS.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "pnfdId": { - "description": "Identifier of the PNFD on which the PNF is based.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "pnfProfileId": { - "description": "Identifier of the VNF profile of the NSD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IdentifierInPnf" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - }, - "AffectedVl": { - "description": "This type provides information about added, deleted and modified VLs. It shall comply with the provisions in Table 6.5.3.4-1.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "Identifier of the VL Instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - }, - "nsVirtualLinkDescId": { - "description": "Identifier of the VLD in the NSD for this VL.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "vlProfileId": { - "description": "Identifier of the VLD in the NSD for this VL.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY - ADD_LINK_PORT - REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - }, - "AffectedVnffg": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "Identifier of the VNFFG instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - }, - "vnffgdId": { - "description": "Identifier of the VNFFGD of the VNFFG instance.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - }, - "AffectedNs": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId" - ], - "properties": { - "nsInstanceId": { - "description": "Identifier of the nested NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsdId": { - "description": "Identifier of the NSD of the nested NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - } - } - }, - "AffectedSap": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "Identifier of the nested NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "sapdId": { - "description": "Identifier of the NSD of the nested NS instance.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - }, - "NsLcmOperationStateType": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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. OLLING_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": [ - "PROCESSING", - "COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "NsLcmOpType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "LccnSubscriptionRequest": { - "description": "This type represents a subscription request related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.2-1..\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.\n", - "$ref": "#/definitions/LifecycleChangeNotificationsFilter" - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "$ref": "SOL005_def.yaml#/definitions/Uri" - }, - "authentication": { - "description": "Authentication parameters to configure the use of Authorization when sending notifications corresponding to this subscription, as defined in clause 4.5.3.4. This attribute shall only be present if the subscriber requires authorization of notifications.\n", - "$ref": "SOL005_def.yaml#/definitions/SubscriptionAuthentication" - } - } - }, - "LccnSubscription": { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "Identifier of this subscription resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "filter": { - "description": "Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.\n", - "$ref": "#/definitions/LifecycleChangeNotificationsFilter" - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "$ref": "SOL005_def.yaml#/definitions/Uri" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "URI of this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - } - } - } - } - }, - "LifecycleChangeNotificationsFilter": { - "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "Filter criteria to select NS instances about which to notify.\n", - "$ref": "#/definitions/NsInstanceSubscriptionFilter" - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "NsLcmOperationOccurenceNotification", - "NsIdentifierCreationNotification", - "NsIdentifierDeletionNotification", - "NsChangeNotification" - ] - } - }, - "operationTypes": { - "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsLcmOpType" - } - }, - "operationStates": { - "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "$ref": "#/definitions/LcmOperationStateType" - } - }, - "nsComponentTypes": { - "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsComponentType" - } - }, - "lcmOpNameImpactingNsComponent": { - "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "$ref": "#/definitions/LcmOpNameForChangeNotificationType" - } - }, - "lcmOpOccStatusImpactingNsComponent": { - "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "$ref": "#/definitions/LcmOpOccStatusForChangeNotificationType" - } - } - } - }, - "NsLcmOperationOccurrenceNotification": { - "type": "object", - "required": [ - "id", - "nsInstanceId", - "nsLcmOpOccId", - "subscriptionId" - ], - "properties": { - "id": { - "description": "Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the \"id\" attribute of all these notifications shall have the same value.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsInstanceId": { - "description": "The identifier of the NS instance affected.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsLcmOpOccId": { - "description": "The identifier of the NS lifecycle operation occurrence associated to the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "operation": { - "description": "The lifecycle operation.\n", - "$ref": "#/definitions/NsLcmOpType" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsLcmOperationOccurrenceNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "timestamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "notificationStatus": { - "description": "Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence.\n", - "type": "string", - "enum": [ - "START", - "RESULT" - ] - }, - "operationState": { - "description": "The state of the NS lifecycle operation occurrence.\n", - "$ref": "#/definitions/NsLcmOperationStateType" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "affectedVnf": { - "description": "Information about the VNF instances that were affected during the lifecycle operation.\n", - "$ref": "#/definitions/AffectedVnf" - }, - "affectedPnf": { - "description": "Information about the PNF instances that were affected during the lifecycle operation.\n", - "$ref": "#/definitions/AffectedPnf" - }, - "affectedVl": { - "description": "Information about the VL instances that were affected during the lifecycle operation.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffectedVirtualLink" - } - }, - "affectedVnffg": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffectedVnffg" - } - }, - "affectedNs": { - "description": "Information about the SAP instances that were affected during the lifecycle operation. See note.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffectedSap" - } - }, - "affectedSap": { - "description": "The lifecycle operation.\n", - "$ref": "#/definitions/NsLcmOpType" - }, - "error": { - "description": "Details of the latest error, if one has occurred during executing the LCM operation (see clause 4.3.5). Shall be present if operationState is \"FAILED_TEMP\" or \"FAILED\", and shall be absent otherwise.\n", - "$ref": "SOL005_def.yaml#/definitions/ProblemDetails" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "$ref": "#/definitions/LccnLinks" - } - } - }, - "NsIdentifierCreationNotification": { - "type": "object", - "required": [ - "subscriptionId", - "nsInstanceId" - ], - "properties": { - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "timestamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "nsInstanceId": { - "description": "The created NS instance identifier\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "$ref": "#/definitions/LccnLinks" - } - } - }, - "NsIdentifierDeletionNotification": { - "type": "object", - "required": [ - "subscriptionId", - "nsInstanceId" - ], - "properties": { - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "timestamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "nsInstanceId": { - "description": "The created NS instance identifier\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "$ref": "#/definitions/LccnLinks" - } - } - }, - "NsScaleInfo": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "Identifier of the NS scaling aspect.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "nsScaleLevelId": { - "description": "Identifier of the NS scale level.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - } - } - }, - "ScaleNsData": { - "description": "This type represents the information to scale a NS.\n", - "type": "object", - "properties": { - "vnfInstanceToBeAdded": { - "description": "An existing VNF instance to be added to the NS instance as part of the scaling operation. If needed, the VNF Profile to be used for this VNF instance may also be provided.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfInstanceData" - } - }, - "vnfInstanceToBeRemoved": { - "description": "The VNF instance to be removed from the NS instance as part of the scaling operation.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "scaleNsByStepsData": { - "description": "The information used to scale an NS instance by one or more scaling steps.\n", - "$ref": "#/definitions/ScaleNsByStepsData" - }, - "scaleNsToLevelData": { - "description": "The information used to scale an NS instance to a target size.\n", - "$ref": "#/definitions/ScaleNsToLevelData" - }, - "additionalParamsForNs": { - "description": "Allows the OSS/BSS to provide additional parameter(s) at the NS level necessary for the NS scaling (as opposed to the VNF level, which is covered in additionalParamForVnf).\n", - "$ref": "#/definitions/ParamsForVnf" - }, - "additionalParamsForVnf": { - "description": "Allows the OSS/BSS to provide additional parameter(s) per VNF instance (as opposed to the NS level, which is covered in additionalParamforNs). This is for VNFs that are to be created by the NFVO as part of the NS scaling and not for existing VNF that are covered by the scaleVnfData.\n", - "type": "array", - "items": { - "$ref": "#/definitions/ParamsForVnf" - } - }, - "locationConstraints": { - "description": "The location constraints for the VNF to be instantiated as part of the NS scaling. An example can be a constraint for the VNF to be in a specific geographic location.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfLocationConstraint" - } - } - } - }, - "ScaleVnfData": { - "description": "This type represents defines the information to scale a VNF instance to a given level, or to scale a VNF instance by steps.\n", - "type": "object", - "required": [ - "vnfInstanceid", - "scaleVnfType" - ], - "properties": { - "vnfInstanceid": { - "description": "Identifier of the VNF instance being scaled.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "scaleVnfType": { - "description": "Type of the scale VNF operation requested. Allowed values are: - SCALE_OUT - SCALE_IN - SCALE_TO_INSTANTIATION_LEVEL - SCALE_TO_SCALE_LEVEL(S) The set of types actually supported depends on the capabilities of the VNF being managed.\n", - "type": "string", - "enum": [ - "SCALE_OUT", - "SCALE_IN", - "SCALE_TO_INSTANTIATION_LEVEL", - "SCALE_TO_SCALE_LEVEL(S)" - ] - }, - "scaleToLevelData": { - "description": "The information used for scaling to a given level.\n", - "$ref": "#/definitions/ScaleToLevelData" - }, - "scaleByStepData": { - "description": "The information used for scaling by steps.\n", - "$ref": "#/definitions/ScaleByStepData" - } - } - }, - "ScaleNsByStepsData": { - "description": "This type represents the information used to scale an NS instance by one or more scaling steps, with respect to a particular NS scaling aspect. Performing a scaling step means increasing/decreasing the capacity of an NS instance in a discrete manner, i.e. moving from one NS scale level to another. The NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD.\n", - "type": "object", - "required": [ - "scalingDirection", - "aspectId" - ], - "properties": { - "scalingDirection": { - "description": "The scaling direction. Possible values are: - SCALE_IN - SCALE_OUT.\n", - "type": "string", - "enum": [ - "SCALE_IN", - "SCALE_OUT" - ] - }, - "aspectId": { - "description": "The aspect of the NS that is requested to be scaled, as declared in the NSD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "numberOfSteps": { - "description": "The number of scaling steps to be performed. Defaults to 1.\n", - "type": "integer", - "default": 1 - } - } - }, - "ScaleNsToLevelData": { - "description": "This type represents the information used to scale an NS instance to a target size. The target size is either expressed as an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD.\n", - "type": "object", - "properties": { - "nsInstantiationLevel": { - "description": "Identifier of the target NS instantiation level of the current DF to which the NS instance is requested to be scaled.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNsd" - }, - "nsScaleInfo": { - "description": "For each NS scaling aspect of the current DF, defines the target NS scale level to which the NS instance is to be scaled.\n", - "type": "array", - "items": { - "$ref": "#/definitions/NsScaleInfo" - } - } - } - }, - "ScaleToLevelData": { - "description": "This type describes the information used to scale a VNF instance to a target size. The target size is either expressed as an instantiation level of that DF as defined in the VNFD, or given as a list of scale levels, one per scaling aspect of that DF. Instantiation levels and scaling aspects are declared in the VNFD. The NFVO shall then invoke the ScaleVnfToLevel operation towards the appropriate VNFM..\n", - "type": "object", - "properties": { - "vnfInstantiationLevelId": { - "description": "Identifier of the target instantiation level of the current deployment flavor to which the VNF is requested to be scaled.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "vnfScaleInfo": { - "description": "For each scaling aspect of the current deployment flavor, indicates the target scale level to which the VNF is to be scaled.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfScaleInfo" - } - }, - "additionalParams": { - "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "ScaleByStepData": { - "description": "This type describes the information to scale a VNF instance by steps. The NFVO shall then invoke the Scale VNF operation towards the appropriate VNFM.\n", - "type": "object", - "required": [ - "aspectId" - ], - "properties": { - "aspectId": { - "description": "Identifier of (reference to) the aspect of the VNF that is requested to be scaled, as declared in the VNFD.\n", - "$ref": "SOL005_def.yaml#/definitions/IdentifierInVnfd" - }, - "numberOfSteps": { - "description": "Number of scaling steps. It shall be a positive number. Defaults to 1. The VNF provider defines in the VNFD whether or not a particular VNF supports performing more than one step at a time. Such a property in the VNFD applies for all instances of a particular VNF.\n", - "type": "integer", - "default": 1 - }, - "additionalParams": { - "description": "Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF instance being scaled.\n", - "$ref": "SOL005_def.yaml#/definitions/KeyValuePairs" - } - } - }, - "NsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances. It shall comply with the provisions defined in Table 4.4.1.5-1.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/String" - } - } - } - }, - "LcmOperationStateType": { - "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "NsComponentType": { - "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", - "type": "string", - "enum": [ - "VNF", - "PNF", - "NS" - ] - }, - "LcmOpNameForChangeNotificationType": { - "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "VNF_INSTANTIATE", - "VNF_SCALE", - "VNF_SCALE_TO_LEVEL", - "VNF_CHANGE_FLAVOUR", - "VNF_TERMINATE", - "VNF_HEAL", - "VNF_OPERATE", - "VNF_CHANGE_EXT_CONN", - "VNF_MODIFY_INFO", - "NS_INSTANTIATE", - "NS_SCALE", - "NS_UPDATE", - "NS_TERMINATE", - "NS_HEAL" - ] - }, - "LcmOpOccStatusForChangeNotificationType": { - "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", - "type": "string", - "enum": [ - "START", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED", - "ROLLED_BACK" - ] - } - } -} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json b/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json index ec42bff6bc2d995778ab9ce0da88a4c3fb175748..64a2c0f4c92a484b3509044a5d4298a701effedd 100644 --- a/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json +++ b/SOL005/NSLifecycleManagement-API/jsons/UpdateNsRequest.json @@ -1,172 +1,3 @@ -{ - "description": "This operation supports the update of a NS instance, It shall comply with the provisions defined in Table 6.5.2.12-1.\n", - "type": "object", - "required": [ - "updateType" - ], - "properties": { - "updateType": { - "description": "The type of update. It determines also which one of the following parameters is present in the operation. Possible values include: * ADD_VNF: Adding existing VNF instance(s) * REMOVE_VNF: Removing VNF instance(s) * INSTANTIATE_VNF: Instantiating new VNF(s) * CHANGE_VNF_DF: Changing VNF DF * OPERATE_VNF: Changing VNF state, * MODIFY_VNF_INFORMATION: Modifying VNF information and/or the configurable properties of VNF instance(s) * CHANGE_EXTERNAL_VNF_CONNECTIVITY: Changing the external connectivity of VNF instance(s)ADD_SAP: Adding SAP(s) * REMOVE_SAP: Removing SAP(s) * ADD_NESTED_NS: Adding existing NS instance(s) as nested NS(s) * REMOVE_NESTED_NS: Removing existing nested NS instance(s) * ASSOC_NEW_NSD_VERSION: Associating a new NSD version to the NS instance * MOVE_VNF: Moving VNF instance(s) from one origin NS instance to another target NS instance * ADD_VNFFG: Adding VNFFG(s) * REMOVE_VNFFG: Removing VNFFG(s) * UPDATE_VNFFG: Updating VNFFG(s) * CHANGE_NS_DF: Changing NS DF * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF\n", - "type": "string", - "enum": [ - "ADD_VNF", - "REMOVE_VNF", - "INSTANTIATE_VNF", - "CHANGE_VNF_DF", - "OPERATE_VNF", - "MODIFY_VNF_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY", - "REMOVE_SAP", - "ADD_NESTED_NS", - "REMOVE_NESTED_NS", - "ASSOC_NEW_NSD_VERSION", - "MOVE_VNF", - "ADD_VNFFG", - "REMOVE_VNFFG", - "UPDATE_VNFFG", - "CHANGE_NS_DF", - "ADD_PNF", - "MODIFY_PNF", - "REMOVE_PNF" - ] - }, - "addVnfIstance": { - "description": "Identifies an existing VNF instance to be added to the NS instance. It shall be present only if updateType = \"ADD_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfInstanceData" - } - }, - "removeVnfInstanceId": { - "description": "Identifies an existing VNF instance to be removed from the NS instance. It contains the identifier(s) of the VNF instances to be removed. It shall be present only if updateType = \"REMOVE_VNF.\" Note: If a VNF instance is removed from a NS and this NS was the last one for which this VNF instance was a part, the VNF instance is terminated by the NFVO.\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "instantiateVnfData": { - "description": "Identifies the new VNF to be instantiated. It can be used e.g. for the bottom-up NS creation. It shall be present only if updateType = \"INSTANTIATE_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/InstantiateVnfData" - } - }, - "changeVnfFlavourData": { - "description": "Identifies the new DF of the VNF instance to be changed to. It shall be present only if updateType = \"CHANGE_VNF_DF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ChangeVnfFlavourData" - } - }, - "operateVnfData": { - "description": "Identifies the state of the VNF instance to be changed. It shall be present only if updateType = \"OPERATE_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/OperateVnfData" - } - }, - "modifyVnfInfoData": { - "description": "Identifies the VNF information parameters and/or the configurable properties of VNF instance to be modified. It shall be present only if updateType = \"MODIFY_VNF_INFORMATION\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ModifyVnfInfoData" - } - }, - "changeExtVnfConnectivityData": { - "description": "Specifies the new external connectivity data of the VNF instance to be changed. It shall be present only if updateType = \"CHANGE_EXTERNAL_VNF_CONNECTIVITY\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ChangeExtVnfConnectivityData" - } - }, - "addSap": { - "description": "Identifies a new SAP to be added to the NS instance. It shall be present only if updateType = \"ADD_SAP.\"\n", - "type": "array", - "items": { - "$ref": "#/definitions/SapData" - } - }, - "removeSapId": { - "description": "The identifier an existing SAP to be removed from the NS instance. It shall be present only if updateType = \"REMOVE_SAP.\"\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "addNestedNsId": { - "description": "The identifier of an existing nested NS instance to be added to (nested within) the NS instance. It shall be present only if updateType = \"ADD_NESTED_NS\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "removeNestedNsId": { - "description": "The identifier of an existing nested NS instance to be removed from the NS instance. It shall be present only if updateType = \"REMOVE_NESTED_NS\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/IdentifierInNs" - } - }, - "assocNewNsdVersionData": { - "description": "Specify the new NSD to be used for the NS instance. It shall be present only if updateType = ASSOC_NEW_NSD_VERSION\".\n", - "$ref": "#/definitions/AssocNewNsdVersionData" - }, - "moveVnfInstanceData": { - "description": "Specify existing VNF instance to be moved from one NS instance to another NS instance. It shall be present only if updateType = MOVE_VNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/MoveVnfInstanceData" - } - }, - "addVnffg": { - "description": "Specify the new VNFFG to be created to the NS Instance. It shall be present only if updateType = \"ADD_VNFFG\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/AddVnffgData" - } - }, - "removeVnffgId": { - "description": "Identifier of an existing VNFFG to be removed from the NS Instance. It shall be present only if updateType = \"REMOVE_VNFFG\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "updateVnffg": { - "description": "Specify the new VNFFG Information data to be updated for a VNFFG of the NS Instance. It shall be present only if updateType = \"UPDATE_VNFFG\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/UpdateVnffgData" - } - }, - "changeNsFlavourData": { - "description": "Specifies the new DF to be applied to the NS instance. It shall be present only if updateType = \"CHANGE_NS_DF\".\n", - "$ref": "#/definitions/ChangeNsFlavourData" - }, - "addPnfData": { - "description": "specifies the PNF to be added into the NS instance. It shall be present only if updateType = \"ADD_PNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/AddPnfData" - } - }, - "modifyPnfData": { - "description": "Specifies the PNF to be modified in the NS instance. It shall be present only if updateType = \"MODIFY_PNF\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/ModifyPnfData" - } - }, - "removePnfId": { - "description": "Identifier of the PNF to be deleted from the NS instance. It shall be present only if updateType = \"REMOVE_PNF\".\n", - "type": "array", - "items": { - "$ref": "SOL005_def.yaml#/definitions/Identifier" - } - }, - "updateTime": { - "description": "Timestamp indicating the update time of the NS, i.e. the NS will be updated at this timestamp. Cardinality \"0\" indicates the NS update takes place immediately.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - } - } +{ + "updateType": "ADD_VNF" } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/ApiVersionInformation.schema.json b/SOL005/NSLifecycleManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL005/NSLifecycleManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierCreationNotification.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierCreationNotification.schema.json index 48a05ff65f73e5a3bae0c4b36e2df032800e2587..8855461c336b076878d26e6cc86627557f573a0f 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierCreationNotification.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierCreationNotification.schema.json @@ -1,29 +1,76 @@ { - "type": "object", - "required": [ - "subscriptionId", - "nsInstanceId" - ], - "properties": { - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "timestamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "nsInstanceId": { - "description": "The created NS instance identifier\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "$ref": "#/definitions/LccnLinks" - } - } - } \ No newline at end of file + "type": "object", + "required": [ + "subscriptionId", + "nsInstanceId" + ], + "properties": { + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": [ + "nsInstance" + ], + "properties": { + "nsInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nslcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierDeletionNotification.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierDeletionNotification.schema.json index 48a05ff65f73e5a3bae0c4b36e2df032800e2587..8855461c336b076878d26e6cc86627557f573a0f 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierDeletionNotification.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsIdentifierDeletionNotification.schema.json @@ -1,29 +1,76 @@ { - "type": "object", - "required": [ - "subscriptionId", - "nsInstanceId" - ], - "properties": { - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "timestamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "nsInstanceId": { - "description": "The created NS instance identifier\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "$ref": "#/definitions/LccnLinks" - } - } - } \ No newline at end of file + "type": "object", + "required": [ + "subscriptionId", + "nsInstanceId" + ], + "properties": { + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"NsIdentifierDeletionNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": [ + "nsInstance" + ], + "properties": { + "nsInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nslcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json index 873d81d609cb3df2c5fe73fa52b4df01893f2f2d..9b74418747a9460b58eba41aca5b19f19a47e3d2 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json @@ -76,11 +76,11 @@ "type": "string" }, "vnfSoftwareVersion": { - "description": "A Version.\n", + "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "vnfdVersion": { - "description": "A Version.\n", + "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "vnfPkgId": { @@ -88,7 +88,7 @@ "type": "string" }, "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "vimId": { @@ -148,6 +148,7 @@ "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 6.5.3.70-1.\n", "type": "object", "required": [ "id", @@ -165,6 +166,7 @@ "cpProtocolInfo": { "description": "Network protocol information for this CP.\n", "type": "array", + "minItems": 1, "items": { "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", "type": "object", @@ -181,7 +183,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", "type": "object", "required": [ "macAddress", @@ -217,7 +219,7 @@ "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } @@ -235,19 +237,19 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -262,7 +264,7 @@ ] }, "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" }, @@ -279,29 +281,29 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } } }, "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -310,7 +312,158 @@ } }, "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "type": "object", + "required": [ + "layerProtocol", + "ipOverEthernet" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "type": "object", + "required": [ + "macAddress", + "ipAddresses", + "subnetId", + "addresses", + "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" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": [ + "PV4", + "PV6" + ] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" + } + } + }, + "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. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "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" } } @@ -331,14 +484,13 @@ "type": "string" }, "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -347,11 +499,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -372,14 +524,13 @@ "type": "string" }, "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -388,11 +539,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -426,14 +577,13 @@ "type": "string" }, "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -442,11 +592,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -466,14 +616,13 @@ "type": "string" }, "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -482,11 +631,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -494,6 +643,14 @@ "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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } } } @@ -502,30 +659,26 @@ } }, "monitoringParameters": { - "description": "Active monitoring parameters.\n", + "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", "type": "array", "items": { + "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", "type": "object", "required": [ "id", - "value", - "timeStamp" + "performanceMetric" ], "properties": { "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", "type": "string" }, "name": { "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", "type": "string" }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", + "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" } } @@ -556,14 +709,13 @@ "type": "string" }, "computeResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -572,11 +724,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -634,7 +786,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", "type": "object", "required": [ "macAddress", @@ -670,7 +822,7 @@ "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } @@ -688,19 +840,19 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -715,7 +867,7 @@ ] }, "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" }, @@ -732,29 +884,29 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } } }, "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -765,12 +917,16 @@ "vnfLinkPortId": { "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } } } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } @@ -797,14 +953,13 @@ "type": "string" }, "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -813,11 +968,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -841,14 +996,13 @@ "type": "string" }, "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -857,11 +1011,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -869,12 +1023,20 @@ "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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } } } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } @@ -901,14 +1063,13 @@ "type": "string" }, "storageResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -917,11 +1078,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -931,7 +1092,7 @@ "type": "string" }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } @@ -940,11 +1101,11 @@ } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } @@ -992,7 +1153,7 @@ ], "properties": { "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", "type": "string" }, "cpdId": { @@ -1003,7 +1164,7 @@ "description": "Parameters for configuring the network protocols on the CP.\n", "type": "array", "items": { - "description": "This type represents network protocol data. \n", + "description": "This type represents network protocol data.\n", "type": "object", "required": [ "layerProtocol" @@ -1046,7 +1207,7 @@ "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } @@ -1064,19 +1225,19 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -1100,29 +1261,33 @@ "type": "object", "required": [ "id", - "nsVirtualLinkDescId" + "nsVirtualLinkDescId", + "nsVirtualLinkProfileId" ], "properties": { "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", "type": "string" }, "nsVirtualLinkDescId": { "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", "type": "string" }, + "nsVirtualLinkProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, "resourceHandle": { "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", "type": "array", "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -1131,11 +1296,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -1145,7 +1310,7 @@ "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", "type": "array", "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", + "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", "type": "object", "required": [ "id", @@ -1157,14 +1322,13 @@ "type": "string" }, "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", "required": [ - "vimConnectionId", "resourceId" ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", "properties": { - "vimConnectionId": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, @@ -1173,11 +1337,11 @@ "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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" }, "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } @@ -1202,7 +1366,7 @@ "type": "string" }, "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", "type": "string" }, "nsInstanceId": { @@ -1210,7 +1374,7 @@ "type": "string" }, "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", "type": "string" } } @@ -1263,7 +1427,7 @@ "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", "type": "array", "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", "type": "string" } }, @@ -1287,7 +1451,7 @@ "type": "string" }, "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", "type": "string" }, "nsInstanceId": { @@ -1295,7 +1459,7 @@ "type": "string" }, "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", "type": "string" } } @@ -1318,7 +1482,7 @@ ], "properties": { "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", "type": "string" }, "sapdId": { @@ -1352,7 +1516,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", "type": "object", "required": [ "macAddress", @@ -1388,7 +1552,7 @@ "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } @@ -1406,19 +1570,19 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -1433,7 +1597,7 @@ ] }, "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" }, @@ -1450,29 +1614,29 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } } }, "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -1499,6 +1663,32 @@ "INSTANTIATED" ] }, + "monitoringParameter": { + "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the NFVO, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1.\n", + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the NSD.\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" + } + } + } + }, "nsScaleStatus": { "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", "type": "array", @@ -1525,7 +1715,7 @@ "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", "type": "array", "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", + "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", "type": "object", "required": [ "affinityOrAntiAffiinty", @@ -1592,7 +1782,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -1609,7 +1799,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -1624,7 +1814,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -1638,7 +1828,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -1652,7 +1842,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -1666,7 +1856,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } @@ -1680,7 +1870,7 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json index 0a1a13209e2119f8ef608646797d3ecce6135445..62e342387aac9a73a56e1b26ce0a6b36a5dc80cf 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json @@ -1,173 +1,319 @@ { - "type:" : "array", - "items": { - "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", - "type": "object", - "required": [ - "id", - "nsInstanceName", - "nsInstanceDescription", - "nsdId", - "nsdInfoId", - "nsState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceName": { - "description": "Human readable name of the NS instance.\n", - "type": "string" - }, - "nsInstanceDescription": { - "description": "Human readable description of the NS instance.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "flavourId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstance": { - "description": "Information on constituent VNF(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfdId", - "vnfProvider", - "vnfProductName", - "vnfSoftwareVersion", - "vnfdVersion", - "vnfPkgId", - "instantiationState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version.\n", - "type": "string" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "vnfState": { - "type": "string", - "enum": [ - "STARTED", - "STOPPED" - ] - }, - "scaleStatus": { - "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", - "type": "array", - "items": { - "required": [ - "aspectId", - "scaleLevel" - ], - "type": "object", - "properties": { - "aspectId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\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" + "type": "array", + "items": { + "description": "This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1.\n", + "type": "object", + "required": [ + "id", + "nsInstanceName", + "nsInstanceDescription", + "nsdId", + "nsdInfoId", + "nsState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsInstanceName": { + "description": "Human readable name of the NS instance.\n", + "type": "string" + }, + "nsInstanceDescription": { + "description": "Human readable description of the NS instance.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "flavourId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfInstance": { + "description": "Information on constituent VNF(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfdId", + "vnfProvider", + "vnfProductName", + "vnfSoftwareVersion", + "vnfdVersion", + "vnfPkgId", + "instantiationState" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfProductName": { + "description": "Name to identify the VNF Product. The value is copied from the VNFD.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfPkgId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfState": { + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "scaleStatus": { + "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how \"big\" the VNF has been scaled w.r.t. that aspect.\n", + "type": "array", + "items": { + "required": [ + "aspectId", + "scaleLevel" + ], + "type": "object", + "properties": { + "aspectId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "scaleLevel": { + "description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n", + "type": "integer" + } } } - } - }, - "extCpInfo": { - "description": "Information about the external CPs exposed by the VNF instance.\n", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "id", - "cpdId" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpProtocolInfo": { - "description": "Network protocol information for this CP.\n", - "type": "array", - "items": { + }, + "extCpInfo": { + "description": "Information about the external CPs exposed by the VNF instance.\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 6.5.3.70-1.\n", + "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "minItems": 1, + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "type": "object", + "required": [ + "layerProtocol", + "ipOverEthernet" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "type": "object", + "required": [ + "macAddress", + "ipAddresses", + "subnetId", + "addresses", + "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" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": [ + "PV4", + "PV6" + ] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" + } + } + }, + "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. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "extLinkPortId": { "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", "type": "object", "required": [ @@ -183,7 +329,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", "type": "object", "required": [ "macAddress", @@ -219,7 +365,7 @@ "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", "type": "array", "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } @@ -237,19 +383,19 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } @@ -264,7 +410,7 @@ ] }, "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" }, @@ -281,938 +427,1218 @@ ], "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" } } }, "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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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", + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", "type": "string" } } } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "associatedVnfcCpId": { + "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" } - }, - "extLinkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" } } - } - }, - "extVirtualLinkInfo": { - "description": "Information about the external VLs the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. \n", + }, + "extVirtualLinkInfo": { + "description": "Information about the external VLs the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", "type": "object", "required": [ - "id", - "resourceHandle" + "resourceId" ], "properties": { - "id": { + "vimId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\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", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } - } - } - } - } - }, - "extManagedVirtualLinkInfo": { - "description": "External virtual links the VNF instance is connected to.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "vnfLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" + }, + "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": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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" } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" } } } } } - } - }, - "monitoringParameters": { - "description": "Active monitoring parameters.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "value", - "timeStamp" - ], - "properties": { - "id": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "name": { - "description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n", - "type": "string" - }, - "value": { - "description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for auto-scaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n", - "type": "object" - }, - "timeStamp": { - "description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n", - "type": "string" - } - } - } - }, - "localizationLanguage": { - "description": "Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n", - "type": "string" - }, - "vnfcResourceInfo": { - "description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vduId", - "computeResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vduId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "computeResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "storageResourceIds": { - "description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n", - "type": "array", - "items": { + }, + "extManagedVirtualLinkInfo": { + "description": "External virtual links the VNF instance is connected to.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId" + ], + "properties": { + "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfcCpInfo": { - "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", - "type": "array", - "items": { + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", "type": "object", "required": [ - "id", - "cpdId" + "resourceId" ], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\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", + "resourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\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 or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", "type": "object", "required": [ - "layerProtocol", - "ipOverEthernet" + "resourceId" ], "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] + } + } + } + } + } + } + }, + "monitoringParameters": { + "description": "Performance metrics tracked by the VNFM (e.g. for auto-scaling purposes) as identified by the VNF provider in the VNFD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the VNFM, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.69-1.\n", + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "computeResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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 with the intention of being globally unique.\n", + "type": "string" + } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfcCpInfo": { + "description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "cpdId" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "vnfExtCpId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "cpProtocolInfo": { + "description": "Network protocol information for this CP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "type": "object", + "required": [ + "layerProtocol", + "ipOverEthernet" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", + "type": "object", + "required": [ + "macAddress", + "ipAddresses", + "subnetId", + "addresses", + "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" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", - "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", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", "type": "string", "format": "IP" } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" } - }, - "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" } } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" + }, + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": [ + "PV4", + "PV6" + ] + }, + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" + } } + }, + "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. Representation: string of variable length.\n", + "type": "string" } - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } - }, - "vnfLinkPortId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" } } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" } } - } - }, - "virtualLinkResourceInfo": { - "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", - "type": "object", - "required": [ - "id", - "vnfVirtualLinkDescId", - "networkResource" - ], - "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "vnfVirtualLinkDescId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "networkResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfLinkPorts": { - "description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n", - "type": "array", - "items": { + }, + "virtualLinkResourceInfo": { + "description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n", + "type": "object", + "required": [ + "id", + "vnfVirtualLinkDescId", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "vnfVirtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", "type": "object", "required": [ - "id", - "resourceHandle" + "resourceId" ], "properties": { - "id": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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.\n", + "type": "string", + "enum": [ + "VNFC_CP", + "EXT_CP" + ] } + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "storageResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\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", + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", "type": "string" } } + }, + "reservationId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" } } } - }, - "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": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "storageResource": { - "required": [ - "vimConnectionId", - "resourceId" - ], + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "pnfInfo": { + "description": "Information on the PNF(s) that are part of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", + "type": "object", + "required": [ + "pnfId", + "pnfdId", + "pnfdInfoId", + "pnfProfileId" + ], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "cpInfo": { + "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", + "type": "object", + "required": [ + "cpInstanceId", + "cpdId" + ], + "properties": { + "cpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "cpdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet.\n", + "type": "object", + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "virtualLinkInfo": { + "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", + "type": "array", + "items": { + "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", + "type": "object", + "required": [ + "id", + "nsVirtualLinkDescId", + "nsVirtualLinkProfileId" + ], + "properties": { + "id": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "resourceHandle": { + "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", + "type": "string" + } + } + } + }, + "linkPort": { + "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", + "type": "string" + } + } + }, + "nsCpHandle": { + "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", + "type": "array", + "items": { + "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", "type": "object", - "description": "This type represents 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": { + "vnfInstanceId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "resourceProviderId": { + "vnfExtCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "pnfInfoId": { "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", + "pnfExtCpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", "type": "string" }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsSapInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", "type": "string" } } - }, - "reservationId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" } } } } } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" } } - } - }, - "pnfInfo": { - "description": "Information on the PNF(s) that are part of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents the information about a PNF that is part of an NS instance. It shall comply with the provisions defined in Table 6.5.3.13-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfdInfoId", - "pnfProfileId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "cpInfo": { - "description": "This type represents the information about the external CP of the PNF. It shall comply with the provisions defined in Table 6.5.3.17-1.\n", - "type": "object", - "required": [ - "cpInstanceId", - "cpdId" - ], - "properties": { - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", + }, + "vnffgInfo": { + "description": "Information on the VNFFG(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "Information on the VNFFG(s) of the NS instance.\n", + "type": "object", + "required": [ + "id", + "vnffgdId", + "vnfInstanceId", + "pnfInfoId" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfInstanceId": { + "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "cpdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + } + }, + "pnfdInfoId": { + "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the CP.\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). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - } - } - } + } + }, + "nsVirtualLinkInfoId": { + "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "nsCpHandle": { + "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", + "type": "array", + "items": { + "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", + "type": "object", + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfExtCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "pnfInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfExtCpInstanceId": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsSapInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" } } } } } } - } - }, - "virtualLinkInfo": { - "description": "Information on the VL(s) of the NS instance. This attribute shall be present if the nsState attribute value is INSTANTIATED and if the NS instance has specified connectivity.\n", - "type": "array", - "items": { - "description": "This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1\n", - "type": "object", - "required": [ - "id", - "nsVirtualLinkDescId" - ], - "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "resourceHandle": { - "description": "Identifier(s) of the virtualised network resource(s) realizing the VL instance. See note.\n", - "type": "array", - "items": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - } - }, - "linkPort": { - "description": "Link ports of the VL instance. Cardinality of zero indicates that no port has yet been created for the VL instance.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "nsCpHandle": { - "description": "Identifier of the CP/SAP instance to be connected to this link port. The value refers to a vnfExtCpInfo item in the VnfInstance, or a pnfExtCpInfo item in the PnfInfo, or a sapInfo item in the NS instance. There shall be at most one link port associated with any connection point instance.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", + }, + "sapInfo": { + "description": "Information on the SAP(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", + "type": "object", + "required": [ + "id", + "sapdId", + "sapName", + "sapProtocolInfo" + ], + "properties": { + "id": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP instance.\n", + "type": "string" + }, + "description": { + "description": "Human readable description for the SAP instance.\n", + "type": "string" + }, + "sapProtocolInfo": { + "description": "Network protocol information for this SAP.\n", + "type": "array", + "items": { + "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "type": "object", + "required": [ + "layerProtocol", + "ipOverEthernet" + ], + "properties": { + "layerProtocol": { + "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET" + ] + }, + "ipOverEthernet": { + "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", "type": "object", + "required": [ + "macAddress", + "ipAddresses", + "subnetId", + "addresses", + "addressRange" + ], "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "ipAddresses": { + "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "addresses": { + "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "isDynamic": { + "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", + "type": "boolean" + }, + "addressRange": { + "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" + "type": { + "description": "The type of the IP addresses\n", + "type": "string", + "enum": [ + "PV4", + "PV6" + ] }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "addresses": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" + "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" }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "addressRange": { + "description": "An IP address range used, e.g. in case of egress connections. See note.\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" + } + } }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "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. Representation: string of variable length.\n", "type": "string" } } @@ -1222,388 +1648,209 @@ } } } - } - }, - "vnffgInfo": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "Information on the VNFFG(s) of the NS instance.\n", - "type": "object", - "required": [ - "id", - "vnffgdId", - "vnfInstanceId", - "pnfInfoId" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfInstanceId": { - "description": "Identifier(s) of the constituent VNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", + }, + "nestedNsInstanceId": { + "description": "Identifier of the nested NS(s) of the NS instance.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsState": { + "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", + "type": "string", + "enum": [ + "NOT_INSTANTIATED", + "INSTANTIATED" + ] + }, + "monitoringParameter": { + "description": "Performance metrics tracked by the NFVO (e.g. for auto-scaling purposes) as identified by the NS designer in the NSD.\n", + "type": "array", + "items": { + "description": "This type represents a monitoring parameter that is tracked by the NFVO, for example, for auto-scaling purposes. It shall comply with the provisions defined in Table 6.5.3.68-1.\n", + "type": "object", + "required": [ + "id", + "performanceMetric" + ], + "properties": { + "id": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", "type": "string" - } - }, - "pnfdInfoId": { - "description": "Identifier(s) of the constituent PNF instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", + }, + "name": { + "description": "Human readable name of the monitoring parameter, as defined in the NSD.\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" } - }, - "nsVirtualLinkInfoId": { - "description": "Identifier(s) of the constituent VL instance(s) of this VNFFG instance.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + } + } + }, + "nsScaleStatus": { + "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", + "type": "array", + "items": { + "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", + "type": "object", + "required": [ + "nsScalingAspectId", + "nsScaleLevelId" + ], + "properties": { + "nsScalingAspectId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "nsScaleLevelId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", "type": "string" } - }, - "nsCpHandle": { - "description": "Identifiers of the CP instances attached to the constituent VNFs and PNFs or the SAP instances of the VNFFG. See note.\n", - "type": "array", - "items": { - "description": "This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1.\n", - "type": "object", - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfExtCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "pnfInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfExtCpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsSapInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } + } + } + }, + "additionalAffinityOrAntiAffinityRule": { + "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", + "type": "array", + "items": { + "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", + "type": "object", + "required": [ + "affinityOrAntiAffiinty", + "scope" + ], + "properties": { + "vnfdId": { + "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfProfileId": { + "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" } + }, + "vnfInstanceId": { + "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "affinityOrAntiAffiinty": { + "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", + "type": "string", + "enum": [ + "AFFINITY", + "ANTI_AFFINITY" + ] + }, + "scope": { + "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", + "type": "string", + "enum": [ + "NFVI_POP", + "ZONE", + "ZONE_GROUP", + "NFVI_NODE" + ] } } } - } - }, - "sapInfo": { - "description": "Information on the SAP(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "This type represents an SAP instance. It shall comply with the provisions defined in Table 6.5.3.67-1.\n", + }, + "_links": { "type": "object", + "description": "Links to resources related to this resource.", "required": [ - "id", - "sapdId", - "sapName", - "sapProtocolInfo" + "self" ], "properties": { - "id": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP instance.\n", - "type": "string" - }, - "description": { - "description": "Human readable description for the SAP instance.\n", - "type": "string" + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } }, - "sapProtocolInfo": { - "description": "Network protocol information for this SAP.\n", + "nestedNsInstances": { + "description": "Links to resources related to this notification.\n", "type": "array", "items": { - "description": "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1.\n", + "description": "This type represents a link to a resource.\n", "type": "object", "required": [ - "layerProtocol", - "ipOverEthernet" + "href" ], "properties": { - "layerProtocol": { - "description": "The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET See note.\n", + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned. It shall comply with the provisions defined in Table 6.5.3.18-1.\n", - "type": "object", - "required": [ - "macAddress", - "ipAddresses", - "subnetId", - "addresses", - "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" - }, - "ipAddresses": { - "description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "addresses": { - "description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "isDynamic": { - "description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n", - "type": "boolean" - }, - "addressRange": { - "description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - } - } - } - }, - "type": { - "description": "The type of the IP addresses\n", - "type": "string", - "enum": [ - "PV4", - "PV6" - ] - }, - "addresses": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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. See note.\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" - } - } - }, - "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" - } - } + "format": "url" } } } - } - } - } - }, - "nestedNsInstanceId": { - "description": "Identifier of the nested NS(s) of the NS instance.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsState": { - "description": "The state of the NS instance. Permitted values: NOT_INSTANTIATED: The NS instance is terminated or not instantiated. INSTANTIATED: The NS instance is instantiated.\n", - "type": "string", - "enum": [ - "NOT_INSTANTIATED", - "INSTANTIATED" - ] - }, - "nsScaleStatus": { - "description": "Status of each NS scaling aspect declared in the applicable DF, how \"big\" the NS instance has been scaled w.r.t. that aspect. This attribute shall be present if the nsState attribute value is INSTANTIATED.\n", - "type": "array", - "items": { - "description": "This type represents the target NS Scale level for each NS scaling aspect of the current deployment flavor.\n", - "type": "object", - "required": [ - "nsScalingAspectId", - "nsScaleLevelId" - ], - "properties": { - "nsScalingAspectId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" }, - "nsScaleLevelId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "additionalAffinityOrAntiAffinityRule": { - "description": "Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD.\n", - "type": "array", - "items": { - "description": "This type describes the additional affinity or anti-affinity rule applicable between the VNF instances to be instantiated in the NS instantiation operation request or between the VNF instances to be instantiated in the NS instantiation operation request and the existing VNF instances..\n", - "type": "object", - "required": [ - "affinityOrAntiAffiinty", - "scope" - ], - "properties": { - "vnfdId": { - "description": "Reference to a VNFD. When the VNFD which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VNFD presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "instantiate": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } } }, - "vnfProfileId": { - "description": "Reference to a vnfProfile defined in the NSD. At least one VnfProfile which is used to instantiate VNF for the NS to be instantiated as the subject of the affinity or anti-affinity rule shall be present. When the VnfProfile which is not used to instantiate VNF, it presents all VNF instances of this type as the subjects of the affinity or anti-affinity rule. The VNF instance which the VnfProfile presents is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" + "terminate": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } } }, - "vnfInstanceId": { - "description": "Reference to the existing VNF instance as the subject of the affinity or anti-affinity rule. The existing VNF instance is not necessary as a part of the NS to be instantiated.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "update": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } } }, - "affinityOrAntiAffiinty": { - "description": "The type of the constraint. Permitted values: AFFINITY ANTI_AFFINITY.\n", - "type": "string", - "enum": [ - "AFFINITY", - "ANTI_AFFINITY" - ] - }, - "scope": { - "description": "Specifies the scope of the rule where the placement constraint applies. Permitted values: NFVI_POP ZONE ZONE_GROUP NFVI_NODE.\n", - "type": "string", - "enum": [ - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ] - } - } - } - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "nestedNsInstances": { - "description": "Links to resources related to this notification.\n", - "type": "array", - "items": { + "scale": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ @@ -1611,85 +1858,28 @@ ], "properties": { "href": { - "description": "URI of the referenced resource.\n", + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string", "format": "url" } } - } - }, - "instantiate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "terminate": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "update": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "scale": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "heal": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + }, + "heal": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } } } } } } } -} -} \ No newline at end of file +} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json index f5eefa1637da54909af2eada0ac9d1c1e9828d6b..6c4acb89e9dec93ce724af5e524f29e0627aefc7 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json @@ -11,7 +11,6 @@ "lcmOperationType", "startTime", "isAutomaticInvocation", - "operationParams", "isCancelPending", "_links" ], diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json index 46cb2f04be9cef0790797b36b64ef6536856fae0..d76636eee3e6a5285efff379e09202d22b7b986f 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json @@ -1,96 +1,599 @@ { - "type": "object", - "required": [ - "id", - "nsInstanceId", - "nsLcmOpOccId", - "subscriptionId" - ], - "properties": { - "id": { - "description": "Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the \"id\" attribute of all these notifications shall have the same value.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsInstanceId": { - "description": "The identifier of the NS instance affected.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "nsLcmOpOccId": { - "description": "The identifier of the NS lifecycle operation occurrence associated to the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "operation": { - "description": "The lifecycle operation.\n", - "$ref": "#/definitions/NsLcmOpType" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsLcmOperationOccurrenceNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "timestamp": { - "description": "Date-time of the generation of the notification.\n", - "$ref": "SOL005_def.yaml#/definitions/DateTime" - }, - "notificationStatus": { - "description": "Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence.\n", - "type": "string", - "enum": [ - "START", - "RESULT" - ] - }, - "operationState": { - "description": "The state of the NS lifecycle operation occurrence.\n", - "$ref": "#/definitions/NsLcmOperationStateType" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "affectedVnf": { - "description": "Information about the VNF instances that were affected during the lifecycle operation.\n", - "$ref": "#/definitions/AffectedVnf" - }, - "affectedPnf": { - "description": "Information about the PNF instances that were affected during the lifecycle operation.\n", - "$ref": "#/definitions/AffectedPnf" - }, - "affectedVl": { - "description": "Information about the VL instances that were affected during the lifecycle operation.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffectedVirtualLink" - } - }, - "affectedVnffg": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffectedVnffg" - } - }, - "affectedNs": { - "description": "Information about the SAP instances that were affected during the lifecycle operation. See note.\n", - "type": "array", - "items": { - "$ref": "#/definitions/AffectedSap" - } - }, - "affectedSap": { - "description": "The lifecycle operation.\n", - "$ref": "#/definitions/NsLcmOpType" - }, - "error": { - "description": "Details of the latest error, if one has occurred during executing the LCM operation (see clause 4.3.5). Shall be present if operationState is \"FAILED_TEMP\" or \"FAILED\", and shall be absent otherwise.\n", - "$ref": "SOL005_def.yaml#/definitions/ProblemDetails" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "$ref": "#/definitions/LccnLinks" - } - } + "type": "object", + "required": [ + "id", + "nsInstanceId", + "nsLcmOpOccId", + "subscriptionId", + "timestamp", + "notificationStatus", + "operationState", + "isAutomaticInvocation", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operation": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"NsLcmOperationOccurrenceNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + }, + "notificationStatus": { + "description": "Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence.\n", + "type": "string", + "enum": [ + "START", + "RESULT" + ] + }, + "operationState": { + "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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. OLLING_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": [ + "PROCESSING", + "COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "isAutomaticInvocation": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "affectedVnf": { + "description": "Information about the VNF instances that were affected during the lifecycle operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFs. It shall comply with the provisions in Table 6.5.3.2-1.\n", + "type": "object", + "required": [ + "vnfInstanceId", + "vnfdId", + "vnfProfileId" + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfName": { + "description": "Name of the VNF Instance.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "TERMINATE", + "SCALE", + "CHANGE_FLAVOUR", + "HEAL", + "OPERATE", + "MODIFY_INFORMATION", + "CHANGE_EXTERNAL_VNF_CONNECTIVITY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + }, + "changedInfo": { + "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "changedVnfInfo": { + "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", + "type": "object", + "required": [ + "vnfInstanceId" + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "changedExtConnectivity": { + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\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" + } + } + } + } + } + } + } + } + } + } + }, + "affectedPnf": { + "description": "Information about the PNF instances that were affected during the lifecycle operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", + "type": "object", + "required": [ + "pnfId", + "pnfdId", + "pnfProfileId", + "cpInstanceId" + ], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "cpInstanceId": { + "description": "Identifier of the CP in the scope of the PNF.\n", + "type": "array", + "items": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVl": { + "description": "Information about the VL instances that were affected during the lifecycle operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs.\n", + "type": "object", + "required": [ + "id", + "virtualLinkDescId", + "changeType", + "networkResource" + ], + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "virtualLinkDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n", + "type": "string", + "enum": [ + "ADDED", + "REMOVED", + "MODIFIED", + "TEMPORARY", + "LINK_PORT_ADDED", + "LINK_PORT_REMOVED" + ] + }, + "networkResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "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. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the resource provider. 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.\n", + "type": "string" + } + } + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + }, + "affectedVnffg": { + "description": "Information about the VNFFG instances that were affected during the lifecycle operation.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", + "type": "object", + "required": [ + "vnffgInstanceId", + "vnffgdId" + ], + "properties": { + "vnffgInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedNs": { + "description": "Information about the SAP instances that were affected during the lifecycle operation. See note.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", + "type": "object", + "required": [ + "nsInstanceId", + "nsdId", + "changeType", + "changeResult" + ], + "properties": { + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "SCALE", + "UPDATE", + "HEAL", + "TERMINATE" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED", + "PARTIALLY_COMPLETED" + ] + } + } + } + }, + "affectedSap": { + "description": "Information about the SAP instances that were affected during the lifecycle operation. Shall be present if the \"notificationStatus\" is set to \"RESULT\" and the operation has performed any resource modification. Shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", + "type": "object", + "required": [ + "sapInstanceId", + "sapdId" + ], + "properties": { + "sapInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "This type represents the links to resources that a notification can contain.\n", + "type": "object", + "required": [ + "nsInstance" + ], + "properties": { + "nsInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nslcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/SOL005_def.yaml.json b/SOL005/NSLifecycleManagement-API/schemas/SOL005_def.yaml.json deleted file mode 100644 index f70d752035afbf9e3675f5bffc0954373b86245a..0000000000000000000000000000000000000000 --- a/SOL005/NSLifecycleManagement-API/schemas/SOL005_def.yaml.json +++ /dev/null @@ -1,449 +0,0 @@ -{ - "definitions": { - "Identifier": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "subscriptionId": { - "description": "Identifier of the subscription that this notification relates to.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "The deleted NS instance identifier.\n", - "type": "string" - }, - "Link": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "DateTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "String": { - "description": "This type represents stack of string values\n", - "type": "string" - }, - "KeyValuePairs": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "IdentifierInVnfd": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "IdentifierInVnf": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "IdentifierInNsd": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "IdentifierInPnf": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "string" - }, - "IdentifierInNs": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "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" - }, - "IpAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging 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" - }, - "IpAddressPrefix": { - "description": "An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF RFC 4632 [12]. For IPV6 address range, refer to IETF RFC 4291 [11].\n", - "type": "string", - "format": "CIDR" - }, - "IdentifierInVim": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n", - "type": "string" - }, - "ProblemDetails": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "ResourceHandle": { - "required": [ - "vimConnectionId", - "resourceId" - ], - "type": "object", - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n", - "properties": { - "vimConnectionId": { - "description": "Identifier of the VIM connection to manage the resource. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. The applicable \"VimConnectionInfo\" structure, which is referenced by vimConnectionId, can be obtained from the \"vimConnectionInfo\" attribute of the \"VnfInstance\" structure.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceProviderId": { - "description": "Identifier of the entity responsible for the management of the resource. This attribute shall only be supported and present when VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceId": { - "description": "Identifier of the resource in the scope of the VIM or the resource provider.\n", - "$ref": "#/definitions/IdentifierInVim" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider.\n", - "type": "string" - } - } - }, - "CpProtocolData": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET" - ] - }, - "ipOverEthernet": { - "description": "Network address data for IP over Ethernet to assign to the extCP instance. Shall be present if layerProtocol is equal to \"IP_OVER_ETHERNET\", and shall be absent otherwise.\n", - "$ref": "#/definitions/IpOverEthernetAddressData" - } - } - }, - "IpOverEthernetAddressData": { - "description": "This type represents network address data for IP over Ethernet.\n", - "type": "object", - "properties": { - "macAddress": { - "description": "MAC address. If this attribute is not present, it shall be chosen by the NFV MANO.\n", - "$ref": "#/definitions/MacAddress" - }, - "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": { - "$ref": "#/definitions/IpAddress" - } - }, - "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": "Lowest IP address belonging to the range.\n", - "$ref": "#/definitions/IpAddress" - }, - "maxAddress": { - "description": "Highest IP address belonging to the range.\n", - "$ref": "#/definitions/IpAddress" - } - } - }, - "subnetId": { - "description": "Subnet defined by the identifier of the subnet resource in the VIM. In case this attribute is present, IP addresses from that subnet will be assigned; otherwise, IP addresses not bound to a subnet will be assigned.\n", - "$ref": "#/definitions/IdentifierInVim" - } - } - } - } - } - }, - "ExtVirtualLinkData": { - "description": "This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1.\n", - "type": "object", - "required": [ - "resourceId", - "extCps" - ], - "properties": { - "extVirtualLinkId": { - "description": "The identifier of the external VL instance, if provided.\n", - "$ref": "#/definitions/Identifier" - }, - "vimId": { - "description": "Identifier of the VIM that manages this resource. This attribute shall only be supported and present if VNFrelated resource management in direct mode is applicable.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceProviderId": { - "description": "Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceId": { - "description": "The identifier of the resource in the scope of the VIM or the resource provider.\n", - "$ref": "#/definitions/IdentifierInVim" - }, - "extCps": { - "description": "External CPs of the VNF to be connected to this external VL.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfExtCpData" - } - }, - "extLinkPorts": { - "description": "Externally provided link ports to be used to connect external connection points to this external VL.\n", - "type": "array", - "items": { - "$ref": "#/definitions/ExtLinkPortData" - } - } - } - }, - "ExtManagedVirtualLinkData": { - "description": "This type represents an externally-managed internal VL. It shall comply with the provisions defined in Table 6.5.3.27-1.\n", - "type": "object", - "required": [ - "virtualLinkDescId", - "resourceId" - ], - "properties": { - "extManagedVirtualLinkId": { - "description": "The identifier of the externally-managed internal VL instance, if provided.\n", - "$ref": "#/definitions/Identifier" - }, - "virtualLinkDescId": { - "description": "The identifier of the VLD in the VNFD for this VL.\n", - "$ref": "#/definitions/IdentifierInVnfd" - }, - "vimId": { - "description": "Identifier of the VIMthat manage this resource. This attribute shall only be supported and present if VNFrelated resource management in direct mode is applicable.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceProviderId": { - "description": "Identifies the entity responsible for the management of this resource. This attribute shall only be supported and present if VNF-related resource management in indirect mode is applicable. The identification scheme is outside the scope of the present document.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceId": { - "description": "The identifier of the resource in the scope of the VIM or the resource provider.\n", - "$ref": "#/definitions/IdentifierInVim" - } - } - }, - "VnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "The identifier of the CPD in the VNFD.\n", - "$ref": "#/definitions/IdentifierInVnfd" - }, - "cpConfig": { - "description": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n", - "type": "array", - "items": { - "$ref": "#/definitions/VnfExtCpConfig" - } - } - } - }, - "ExtLinkPortData": { - "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": "Identifier of this link port as provided by the entity that has created the link port.\n", - "$ref": "#/definitions/Identifier" - }, - "resourceHandle": { - "description": "Reference to the virtualised resource realizing this link port.\n", - "$ref": "#/definitions/ResourceHandle" - } - } - }, - "VnfExtCpConfig": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n", - "type": "object", - "properties": { - "cpInstanceId": { - "description": "Identifier of the external CP instance to which this set of configuration parameters is requested to be applied. Shall be present if this instance has already been created.\n", - "$ref": "#/definitions/IdentifierInVnf" - }, - "linkPortId": { - "description": "Identifier of a pre-configured link port to which the external CP will be associated. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "$ref": "#/definitions/Identifier" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be absent for the deletion of an existing external CP instance\n addressed by cpInstanceId. \n* At least one of these attributes shall be present for a to-be-created external CP instance or an existing external\n CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n", - "type": "array", - "items": { - "$ref": "#/definitions/CpProtocolData" - } - } - } - }, - "PortRange": { - "description": "The PortRange data type provides the lower and upper bounds of a range of Internet ports. It shall comply with the provisions defined in Table 6.5.3.42-1.\n", - "type": "object", - "required": [ - "lowerPort", - "upperPort" - ], - "properties": { - "lowerPort": { - "description": "Identifies the lower bound of the port range. upperPort Integer\n", - "type": "integer" - }, - "upperPort": { - "description": "Identifies the upper bound of the port range.\n", - "type": "integer" - } - } - }, - "Mask": { - "description": "The Mask data type identifies the value to be matched for a sequence of bits at a particular location in a frame. It shall comply with the provisions defined in Table 6.5.3.41-1.\n", - "type": "object", - "required": [ - "startingPoint", - "length", - "value" - ], - "properties": { - "startingPoint": { - "description": "Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched.\n", - "type": "integer" - }, - "length": { - "description": "Indicates the number of bits to be matched.\n", - "type": "integer" - }, - "value": { - "description": "Provide the sequence of bit values to be matched.\n", - "type": "string" - } - } - }, - "Uri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "SubscriptionAuthentication": { - "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": "The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band.\n", - "$ref": "#/definitions/Uri" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json b/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json index 07c9669b2e99ab2383a008fb50342dfc7660c324..8eb87f63d7a8159443bbd83fa62735b8735b8cd0 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/subscription.schema.json @@ -1,36 +1,192 @@ { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "Identifier of this subscription resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "filter": { - "description": "Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.\n", - "$ref": "#/definitions/LifecycleChangeNotificationsFilter" - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "$ref": "SOL005_def.yaml#/definitions/Uri" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "URI of this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - } - } - } - } + "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "NsLcmOperationOccurenceNotification", + "NsIdentifierCreationNotification", + "NsIdentifierDeletionNotification", + "NsChangeNotification" + ] + } + }, + "operationTypes": { + "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + } + }, + "operationStates": { + "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + } + }, + "nsComponentTypes": { + "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", + "type": "array", + "items": { + "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", + "type": "string", + "enum": [ + "VNF", + "PNF", + "NS" + ] + } + }, + "lcmOpNameImpactingNsComponent": { + "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "VNF_INSTANTIATE", + "VNF_SCALE", + "VNF_SCALE_TO_LEVEL", + "VNF_CHANGE_FLAVOUR", + "VNF_TERMINATE", + "VNF_HEAL", + "VNF_OPERATE", + "VNF_CHANGE_EXT_CONN", + "VNF_MODIFY_INFO", + "NS_INSTANTIATE", + "NS_SCALE", + "NS_UPDATE", + "NS_TERMINATE", + "NS_HEAL" + ] + } + }, + "lcmOpOccStatusImpactingNsComponent": { + "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", + "type": "string", + "enum": [ + "START", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED", + "ROLLED_BACK" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json b/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json index a91bc97c316dcce5dd0d382f553a81ba26d72e3b..72a40a43fb7d6bd590f378a1c9626f55e7776311 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/subscriptions.schema.json @@ -1,39 +1,195 @@ { "type": "array", "items": { - "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "Identifier of this subscription resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Identifier" - }, - "filter": { - "description": "Filter settings for this subscription, to define the subset of all notifications this subscription relates to. A particular notification is sent to the subscriber if the filter matches, or if there is no filter.\n", - "$ref": "#/definitions/LifecycleChangeNotificationsFilter" - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "$ref": "SOL005_def.yaml#/definitions/Uri" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "URI of this resource.\n", - "$ref": "SOL005_def.yaml#/definitions/Link" - } - } - } - } - } + "description": "This type represents a subscription related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.2.4-1.\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. 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": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - NsLcmOperationOccurenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - NsChangeNotification\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "NsLcmOperationOccurenceNotification", + "NsIdentifierCreationNotification", + "NsIdentifierDeletionNotification", + "NsChangeNotification" + ] + } + }, + "operationTypes": { + "description": "Match particular NS lifecycle operation types for the notification of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + } + }, + "operationStates": { + "description": "Match particular LCM operation state values as reported in notifications of type NsLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. 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 will not succeed. OLLING_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 NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + } + }, + "nsComponentTypes": { + "description": "Match particular NS component types for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChang.\n", + "type": "array", + "items": { + "description": "The enumeration NsComponentType represents the NS component type. It shall comply with the provisions defined in Table 6.5.4.5-1. Value | Description ------|------------ VNF | Represents the impacted NS component is a VNF. PNF | Represents the impacted NS component is a PNF. NS | Represents the impacted NS component is a nested NS.\n", + "type": "string", + "enum": [ + "VNF", + "PNF", + "NS" + ] + } + }, + "lcmOpNameImpactingNsComponent": { + "description": "Match particular LCM operation names for the notification of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in Table 6.5.4.6-1. Value | Description ------|------------ VNF_INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE | Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR | Represents the \"Change VNF Flavor\" LCM operation. VNF_TERMINATE | Represents the \"Terminate VNF\" LCM operation. VNF_HEAL | Represents the \"Heal VNF\" LCM operation. VNF_OPERATE | Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation. NS_INSTANTIATE | Represents the \"Instantiate NS\" LCM operation NS_SCALE | Represents the \"Scale NS\" LCM operation. NS_UPDATE | Represents the \"Update NS\" LCM operation. NS_TERMINATE | Represents the \"Terminate NS\" LCM operation. NS_HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "VNF_INSTANTIATE", + "VNF_SCALE", + "VNF_SCALE_TO_LEVEL", + "VNF_CHANGE_FLAVOUR", + "VNF_TERMINATE", + "VNF_HEAL", + "VNF_OPERATE", + "VNF_CHANGE_EXT_CONN", + "VNF_MODIFY_INFO", + "NS_INSTANTIATE", + "NS_SCALE", + "NS_UPDATE", + "NS_TERMINATE", + "NS_HEAL" + ] + } + }, + "lcmOpOccStatusImpactingNsComponent": { + "description": "Match particular LCM operation status values as reported in notifications of type NsChangeNotification. May be present if the \"notificationTypes\" attribute contains the value \"NsChangeNotification\", and shall be absent otherwise.\n", + "type": "array", + "items": { + "description": "The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the provisions defined in Table 6.5.4.7-1. Value | Description ------|------------ START | The impact on the NS component is identified. COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully. PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component. FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component. ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.\n", + "type": "string", + "enum": [ + "START", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED", + "ROLLED_BACK" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/ApiVersion.robot b/SOL005/NSPerformanceManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..17bbc85f4e76f257888ca2d84096f8285e51278e --- /dev/null +++ b/SOL005/NSPerformanceManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.4.9.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.4.9.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.4.9.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.4.9.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.4.9.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.4.9.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.4.9.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.4.9.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.4.9.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.4.9.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot index bfd653dca53267fcc67f6cb61993f27f4749b217..818dc1368c70ba9bbc96f52093a8726cc95f12d6 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot @@ -12,7 +12,7 @@ GET individual NS Performance Job ... Test title: Get individual NS Performance Job ... Test objective: The objective is to test the retrieval of an individual NS Performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET individual NS Performance Job with invalid resource identifier ... Test title: Get individual NS Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS Performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual NS Performance Job with invalid resource identifier ... Test title: Delete individual NS Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NS Performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST Individual NS Performance Job - Method not implemented ... Test title: POST Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS Performance Monitoring Job ... Pre-conditions: A NS instance is instantiated - ... Reference: clause 7.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Individual NS Performance Job - Method not implemented ... Test title: PUT Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS Performance Monitoring Job ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Individual NS Performance Job - Method not implemented ... Test title: PATCH Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new NS Performance Monitoring Job ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Individual NS Performance Job ... Test title: Delete Individual NS Performance Job ... Test objective: The objective is to test the deletion of an individual NS Performance monitoring job ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Job is no more available in the NFVO diff --git a/SOL005/NSPerformanceManagement-API/IndividualReport.robot b/SOL005/NSPerformanceManagement-API/IndividualReport.robot index 19960df04cadef023aaeadb421b321bfca191465..53926a22682e09883f16285548c056b02a91d60d 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualReport.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualReport.robot @@ -12,7 +12,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual NS performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual NS performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS performance report within a monitoring job ... Pre-conditions: A NS instance is instantiated. - ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance report is not created on the NFVO @@ -50,7 +50,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS performance report within a monitoring job ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance report is not modified by the operation @@ -63,7 +63,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NS performance report within a monitoring job ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance report is not modified by the operation @@ -76,7 +76,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing NS performance report within a monitoring job ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance report is not deleted by the operation diff --git a/SOL005/NSPerformanceManagement-API/IndividualSubscription.robot b/SOL005/NSPerformanceManagement-API/IndividualSubscription.robot index 8749de719cc4b3453163c38ebd0792e287c00a31..1ceeaea2207002265ea7f6b8207d7fd602748f97 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualSubscription.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualSubscription.robot @@ -16,7 +16,7 @@ GET Individual NS Performance Subscription ... Test title: GET Individual NS Performance Subscription ... Test objective: The objective is to test the retrieval of individual NS Performance subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Individual NS Performance Subscription with invalid resource identifier ... Test title: GET Individual NS Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS Performance subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ DELETE Individual NS Performance Subscription with invalid resource identifier ... Test title: DELETE Individual NS Performance Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NS Performance subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ POST Individual NS Performance Subscription - Method not implemented ... Test title: POST Individual NS Performance Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS Performance Subscription ... Pre-conditions: none - ... Reference: clause 7.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Subscription is not created on the NFVO @@ -67,7 +67,7 @@ PUT Individual NS Performance Subscription - Method not implemented ... Test title: PUT Individual NS Performance Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS Performance subscription ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance subscription is not modified by the operation @@ -80,7 +80,7 @@ PATCH Individual NS Performance Subscription - Method not implemented ... Test title: PATCH Individual NS Performance Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NS Performance subscription ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance subscription is not modified by the operation @@ -93,7 +93,7 @@ DELETE Individual NS Performance Subscription ... Test title: DELETE Individual NS Performance Subscription ... Test objective: The objective is to test the deletion of an individual NS Performance subscription ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Subscription is not available anymore in the NFVO diff --git a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot index 20073108e0a41a98a4277b5d706a3f50a874a864..6b3a5c245d99745c9f8a7f59cf5f9a8215207ea8 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot @@ -14,7 +14,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual NS performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS performance threshold fails when using an invalid resource identifier ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS performance Threshold ... Pre-conditions: A NS instance is instantiated - ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not created on the NFVO @@ -65,7 +65,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not modified by the operation @@ -78,7 +78,7 @@ PATCH Individual Threshold - Method not implemented ... Test title: PATCH Individual Threshold - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not modified by the operation @@ -91,7 +91,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not available anymore in the NFVO diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot index e688ea43657d87aba40bf3f9c4b2ed637e245fcf..fd2302fac9211f4673b259cd6a8ca50c1d3c57b6 100644 --- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot +++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot @@ -15,6 +15,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** GET all NS Performance Monitoring Jobs @@ -172,7 +173,9 @@ Check HTTP Response Body PmJobs Matches the requested all_fields selector Check HTTP Response Body PmJobs Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + ${user}= Get Value From Json ${response['body']} $..userDefinedData + Validate Json UserDefinedData.schema.json ${user[0]} + Log Validation for schema OK Check HTTP Response Body PmJobs Do Not Contain reports Log Checking that field element is missing @@ -349,7 +352,7 @@ GET Performance Thresholds with attribute-based filter Log Trying to get thresholds present in the NFVO with filter Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK} + GET ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK_Threshold} ${output}= Output response Set Suite Variable ${response} ${output} @@ -420,7 +423,9 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + @{words} = Split String ${FILTER_OK_Threshold} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] + GET Individual NS performance Threshold Log Trying to get a Threhsold present in the NFVO @@ -428,7 +433,7 @@ GET Individual NS performance Threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} GET individual NS performance Threshold with invalid resource identifier Log Trying to get a Threhsold with invalid resource endpoint @@ -436,28 +441,28 @@ GET individual NS performance Threshold with invalid resource identifier Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Delete request for individual NS performance Threshold Log Trying to delete a Threhsold in the NFVO Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Delete request for individual NS performance Threshold with invalid resource identifier Log Trying to delete a Threhsold in the NFVO with invalid id Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds/${erroneousThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Post request for individual NS performance Threshold Log Trying to create new threshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/thresholds/${newThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual NS performance Threshold Log Trying to PUT threshold @@ -468,7 +473,7 @@ Send Put request for individual NS performance Threshold Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual NS performance Threshold Log Trying to PUT threshold @@ -479,7 +484,7 @@ Send Patch request for individual NS performance Threshold Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/thresholds/${thresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition NS performance Threshold is Unmodified (Implicit) Log Check postconidtion threshold not modified @@ -495,7 +500,7 @@ Check Postcondition NS performance Threshold is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${newThresholdId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check Postcondition NS performance Threshold is Deleted @@ -603,7 +608,7 @@ Send Post Request for Duplicated NS Performance Subscription Send Put Request for NS Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFVO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 4.3.5.4. Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -613,7 +618,7 @@ Send Put Request for NS Performance Subscriptions Send Patch Request for NS Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFVO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 4.3.5.4. Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -623,7 +628,7 @@ Send Patch Request for NS Performance Subscriptions Send Delete Request for NS Performance Subscriptions [Documentation] This method is not supported. When this method is requested on this resource, the NFVO shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ... Not Allowed" response as defined in Clause 4.3.5.4. Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -633,7 +638,7 @@ Send Delete Request for NS Performance Subscriptions Check HTTP Response Status Code Is [Arguments] ${expected_status} - Should Be Equal ${response['status']} ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated @@ -653,8 +658,8 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NS Package Management according to filter - #TODO - + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription @@ -731,7 +736,7 @@ Send Post request for individual NS Performance Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual NS Performance Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -740,7 +745,7 @@ Send Put request for individual NS Performance Subscription Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual NS Performance Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -749,7 +754,7 @@ Send Patch request for individual NS Performance Subscription Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition NS Performance Subscription is Unmodified (Implicit) Log Check postconidtion subscription not modified @@ -765,7 +770,7 @@ Check Postcondition NS Performance Subscription is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Check HTTP Response Body Subscription Identifier matches the requested Subscription @@ -792,3 +797,8 @@ Check Notification Endpoint Create Mock Expectation ${notification_request} ${notification_response} Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + diff --git a/SOL005/NSPerformanceManagement-API/Notifications.robot b/SOL005/NSPerformanceManagement-API/Notifications.robot index a1f2168b82cb4cf0fabd820049b7be68ecb2e4fd..fcc032436e9e733cee6bddd93e7f7a47acbd82b2 100644 --- a/SOL005/NSPerformanceManagement-API/Notifications.robot +++ b/SOL005/NSPerformanceManagement-API/Notifications.robot @@ -17,7 +17,7 @@ NS Performance Information Availability Notification ... Test title: NS Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of NS Performance Information Availability Notification when new NS performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS performance job is created, and a subscription for information availability notifications is available in the NFVO. - ... Reference: clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ NS Threshold Crossed Notification ... Test title: NS Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of NS Threshold Crossed Notification when a previously set NS performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS performance job is created, and a threshold subscription is available in the NFVO. - ... Reference: clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/PMJobs.robot b/SOL005/NSPerformanceManagement-API/PMJobs.robot index 38b259440aad81c8ebd7569d7ebbec0890f7aa60..2fcdc9a57d43e4107656a8b47bdf853fad1b6b37 100644 --- a/SOL005/NSPerformanceManagement-API/PMJobs.robot +++ b/SOL005/NSPerformanceManagement-API/PMJobs.robot @@ -14,7 +14,7 @@ GET all NS Performance Monitoring Jobs ... Test title: GET all NS Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET NS Performance Monitoring Jobs with attribute-based filter ... Test title: GET all NS Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of NS performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET all NS Performance Monitoring Jobs with "all_fields" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "all_fields" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET all NS Performance Monitoring Jobs with "exclude_default" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "exclude_default" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ GET all NS Performance Monitoring Jobs with "include" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "include" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "include" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "include" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "include" attribute selector ... Post-Conditions: none @@ -84,7 +84,7 @@ GET all NS Performance Monitoring Jobs with "exclude" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "exclude" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "exclude" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude" attribute selector ... Post-Conditions: none @@ -98,7 +98,7 @@ GET NS Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET NS Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ GET NS Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET NS Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails when using invalid resource endpoint ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ Create new NS Performance Monitoring Job ... Test title: Create a new NS Performance Monitoring Job ... Test objective: The objective is to test the creation of a new NS performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Job is successfully created on the NFVO @@ -137,7 +137,7 @@ PUT all NS Performance Monitoring Jobs - Method not implemented ... Test title: PUT all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -149,7 +149,7 @@ PATCH all NS Performance Monitoring Jobs - Method not implemented ... Test title: PATCH all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -161,10 +161,36 @@ DELETE all NS Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Monitoring Jobs are not deleted by the failed operation Send PATCH Request for all NS Performance Monitoring Jobs Check HTTP Response Status Code Is 405 Check Postcondition NS Performance Monitoring Jobs Exist + +GET all NS Performance Monitoring Jobs as Paged Response + [Documentation] Test ID: 5.3.4.1.13 + ... Test title: GET all NS Performance Monitoring Jobs as Paged Response + ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs as paged response. + ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all NS Performance Monitoring Jobs + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET NS Performance Monitoring Jobs - Bad Request Response too Big + [Documentation] Test ID: 5.3.4.1.14 + ... Test title: GET NS Performance Monitoring Jobs - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all NS Performance Monitoring Jobs + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/SOL005-NSPerformanceManagement-API.json b/SOL005/NSPerformanceManagement-API/SOL005-NSPerformanceManagement-API.json deleted file mode 100644 index 0e7599c7f695e798bb9391a91c9627f68f854547..0000000000000000000000000000000000000000 --- a/SOL005/NSPerformanceManagement-API/SOL005-NSPerformanceManagement-API.json +++ /dev/null @@ -1,7137 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.0.0", - "title": "SOL005 - NS Performance Management Interface", - "description": "SOL005 - NS Performance Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - }, - "contact": { - "name": "NFV-SOL WG" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 005 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf" - }, - "basePath": "/nspm/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/pm_jobs": { - "post": { - "summary": "Create a PM job.", - "description": "The POST method creates a PM job. This method shall follow the provisions specified in the Tables 7.4.2.3.1-1 and 7.4.2.3.1-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "CreatePmJobRequest", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CreatePmJobRequest" - ], - "properties": { - "CreatePmJobRequest": { - "description": "This type represents a request to create a PM job. It shall comply with the provisions defined in Table 7.5.2.6-1.\n", - "type": "object", - "required": [ - "objectInstanceIds", - "criteria" - ], - "properties": { - "objectInstanceIds": { - "description": "Identifiers of the NS instances for which performance information is requested to be collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\n", - "type": "object", - "required": [ - "collectionPeriod", - "reportingPeriod" - ], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. \n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - } - } - } - }, - "description": "The VNF creation parameters. \n" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "201 Created\nThe PM job was created successfully. The response body shall contain a representation of the created PM job resource, as defined in clause 7.5.2.7. The HTTP response shall include a \"Location\" HTTP header that points to the created PM job resource. \n", - "schema": { - "type": "object", - "properties": { - "PmJob": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": [ - "id", - "objectInstanceIds", - "criteria" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the NS instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\n", - "type": "object", - "required": [ - "collectionPeriod", - "reportingPeriod" - ], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. \n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": [ - "href", - "readyTime", - "_links" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objects": { - "description": "Links to resources representing the NS instances for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "The byte range passed in the \"Range\" header did not match any available byte range in the NSD file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Query PM jobs.", - "description": "\"The client can use this method to retrieve information about PM jobs\"\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "\"Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the PmJob and in data types referenced from it shall be supported in attribute-based filtering parameters\"\n" - }, - { - "name": "all_fields", - "in": "query", - "required": false, - "type": "string", - "description": "\"Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO shall support this parameter\"\n" - }, - { - "name": "include", - "in": "query", - "required": false, - "type": "string", - "description": "\"Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter\" \n" - }, - { - "name": "exclude", - "in": "query", - "required": false, - "type": "string", - "description": "\"Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter.\"\n" - }, - { - "name": "exclude_default", - "in": "query", - "required": false, - "type": "string", - "description": "\"Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the PmJob structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: reports.\"\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about zero or more PM jobs was queried successfully. The response body shall contain representations of zero or more PM jobs, as defined in clause 7.5.2.7\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "PmJob": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": [ - "id", - "objectInstanceIds", - "criteria" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the NS instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\n", - "type": "object", - "required": [ - "collectionPeriod", - "reportingPeriod" - ], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. \n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": [ - "href", - "readyTime", - "_links" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objects": { - "description": "Links to resources representing the NS instances for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pm_jobs/{pmJobId}": { - "parameters": [ - { - "name": "pmJobId", - "description": "Identifier of the PM job. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new PM job resource. It can also be retrieved from the \"id\" attribute in the payload body of that response. \n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read a single PM job.", - "description": "The client can use this method for reading an individual PM job.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about an individual PM job was queried successfully. The response body shall contain a representation of the PM job resource, as defined in clause 7.5.2.7. \n", - "schema": { - "type": "object", - "properties": { - "PmJob": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": [ - "id", - "objectInstanceIds", - "criteria" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the NS instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\n", - "type": "object", - "required": [ - "collectionPeriod", - "reportingPeriod" - ], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. \n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": [ - "href", - "readyTime", - "_links" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objects": { - "description": "Links to resources representing the NS instances for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Delete a PM job.", - "description": "This method terminates an individual PM job.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe PM job was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/pm_jobs/{pmJobId}/reports/{reportId}": { - "parameters": [ - { - "name": "pmJobId", - "description": "Identifier of the PM job.\n", - "in": "path", - "type": "string", - "required": true - }, - { - "name": "reportId", - "description": "Identifier of the performance report.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read an individual performance report.", - "description": "The client can use this method for reading an individual performance report.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation of an individual performance report was read successfully. The response body shall contain a representation of the performance report resource, as defined in clause 7.5.2.10.\n", - "schema": { - "type": "object", - "properties": { - "PerformanceReport": { - "description": "This type defines the format of a performance report provided by the NFVO to the OSS/BSS as a result of collecting performance information as part of a PM job. The type shall comply with the provisions defined in Table 7.5.2.10-1.\n", - "type": "object", - "required": [ - "entries" - ], - "properties": { - "entries": { - "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. NS instance), but can include multiple collected values.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "objectType", - "objectInstanceId", - "performanceMetric", - "performanceValue" - ], - "properties": { - "objectType": { - "description": "Defines the object type for which performance information is reported (i.e. NS type). The string value shall be set to the nsdId of the NS instance to which the performance information relates.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Name of the metric collected.\n", - "type": "string" - }, - "performanceValues": { - "description": "List of performance values with associated timestamp.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "timeStamp", - "performanceValue" - ], - "properties": { - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The type of the \"performanceValue\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is outside the scope of the present document.\n", - "type": "object" - } - } - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/thresholds": { - "post": { - "summary": "Create a threshold.", - "description": "The POST method can be used by the client to create a threshold.\nThis method shall follow the provisions specified in the table 7.4.5.3.1-2 for URI query parameters, request and response data structures, and response codes. \n", - "parameters": [ - { - "name": "CreateThresholdRequest", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CreateThresholdRequest" - ], - "properties": { - "CreateThresholdRequest": { - "description": "This type represents a request to create a threshold.\n", - "type": "object", - "required": [ - "objectInstanceId", - "criteria" - ], - "properties": { - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": [ - "performanceMetric", - "thresholdType" - ], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": [ - "thresholdValue", - "hysteresis" - ], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number. \n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - } - } - } - }, - "description": "Request parameters to create a threshold resource. \n" - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "201": { - "description": "201 Created\nA threshold was created successfully. The response body shall contain a representation of the created threshold resource, as defined in clause 7.5.2.9. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created threshold resource. \n", - "schema": { - "type": "object", - "properties": { - "Threshold": { - "description": "This type represents a threshold.\n", - "type": "object", - "required": [ - "id", - "objectInstanceId", - "criteria", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": [ - "performanceMetric", - "thresholdType" - ], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": [ - "thresholdValue", - "hysteresis" - ], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number. \n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "object": { - "description": "Link to a resource representing the NS instance for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n" - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Query thresholds.", - "description": "The client can use this method to query information about thresholds.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the Thresholds data type and in data types referenced from it shall be supported in attribute-based filtering parameters. \n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about zero or more thresholds was queried successfully. The response body shall contain representations of zero or more thresholds, as defined in clause 7.5.2.9.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "Threshold": { - "description": "This type represents a threshold.\n", - "type": "object", - "required": [ - "id", - "objectInstanceId", - "criteria", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": [ - "performanceMetric", - "thresholdType" - ], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": [ - "thresholdValue", - "hysteresis" - ], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number. \n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "object": { - "description": "Link to a resource representing the NS instance for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n" - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/thresholds/{thresholdId}": { - "parameters": [ - { - "name": "thresholdId", - "description": "Identifier of the threshold. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new threshold resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Query a single threshold.", - "description": "The client can use this method for reading an individual threshold. This method shall follow the provisions specified in the Tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation about an individual threshold was queried successfully. The response body shall contain a representation of the threshold, as defined in clause 7.5.2.9. \n", - "schema": { - "type": "object", - "properties": { - "Threshold": { - "description": "This type represents a threshold.\n", - "type": "object", - "required": [ - "id", - "objectInstanceId", - "criteria", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "required": [ - "performanceMetric", - "thresholdType" - ], - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "required": [ - "thresholdValue", - "hysteresis" - ], - "properties": { - "thresholdValue": { - "description": "The threshold value. Shall be represented as a floating point number. \n", - "type": "integer" - }, - "hysteresis": { - "description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n", - "type": "integer" - } - } - } - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "object": { - "description": "Link to a resource representing the NS instance for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n" - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Delete a threshold.", - "description": "This method allows to delete a threshold.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe threshold was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "summary": "Subscribe to PM notifications.", - "description": "The POST method creates a new subscription. This method shall follow the provisions specified in the Tables 7.4.7.3.1-1 and 7.4.7.3.1-2 for URI query parameters, request and response data structures, and response codes. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate subscription resource (in which case it shall return a \"303 See Other\" response code referencing the existing subscription resource with the same filter and callbackUri)\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "PmSubscriptionRequest" - ], - "properties": { - "PmSubscriptionRequest": { - "description": "This type represents a subscription request.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. It shall comply with the provisions defined in Table 7.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - ThresholdCrossedNotification - PerformanceInformationAvailableNotification 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": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - } - }, - "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\n HTTP Basic authentication with the client credentials. \n- OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n 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\n 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" - } - } - } - } - } - } - } - }, - "description": "Details of the subscription to be created. \n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nThe subscription was created successfully. A representation of the created subscription resource shall be returned in the response body, as defined in clause 7.5.2.3. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created subscription resource. \n", - "schema": { - "type": "object", - "properties": { - "PmSubscription": { - "description": "This type represents a subscription.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. It shall comply with the provisions defined in Table 7.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - ThresholdCrossedNotification - PerformanceInformationAvailableNotification 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": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "303": { - "description": "See Other. A subscription with the same callbackURI and the same filter already exits and the policy of the NFVO is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty. \n" - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Query PM related subscriptions.", - "description": "The client can use this method to query the list of active subscriptions to Performance management notifications subscribed by the client. This method shall follow the provisions specified in the Tables 7.4.7.3.2-1 and 7.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the PmSubscription and in data types referenced from it shall be supported in attribute-based filtering parameters. \n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method, as defined in clause 7.5.2.3.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "PmSubscription": { - "description": "This type represents a subscription.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. It shall comply with the provisions defined in Table 7.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - ThresholdCrossedNotification - PerformanceInformationAvailableNotification 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": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of the subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Query a single PM related subscription.", - "description": "The client can use this method for reading an individual subscription about Performance management notifications subscribed by the client. This method shall follow the provisions specified in the Tables 7.4.8.3.2-1 and 7.4.8.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe subscription was read successfully. The response body shall contain a representation of the subscription resource, as defined in clause 7.5.2.3. \n", - "schema": { - "type": "object", - "properties": { - "PmSubscription": { - "description": "This type represents a subscription.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. It shall comply with the provisions defined in Table 7.5.3.2-1. 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": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - ThresholdCrossedNotification - PerformanceInformationAvailableNotification 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": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Terminate a subscription.", - "description": "This method terminates an individual subscription. This method shall follow the provisions specified in the Tables 7.4.8.3.5-1 and 7.4.8.3.5-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content \nThe subscription resource was deleted successfully. The response body shall be empty.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification": { - "post": { - "summary": "Notify about PM related events", - "description": "The POST method delivers a notification regarding a performance management event from the server to the client. This method shall follow the provisions specified in the Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters,\n", - "parameters": [ - { - "name": "PerformanceInformationAvailableNotification", - "description": "Notification about performance information availability. \n", - "in": "body", - "required": true, - "schema": { - "properties": { - "PerformanceInformationAvailableNotification": { - "description": "This notification informs the receiver that performance information is available.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "objectInstanceId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"PerformanceInformationAvailableNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "pmJob", - "performanceReport" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pmJob": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "performanceReport": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification": { - "post": { - "summary": "Notify about PM related events", - "description": "The POST method delivers a notification regarding a performance management event from the server to the client. This method shall follow the provisions specified in the Tables 7.4.9.3.1-1 and 7.4.9.3.1-2 for URI query parameters,\n", - "parameters": [ - { - "name": "ThresholdCrossedNotification", - "description": "Notification about threshold crossing.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "ThresholdCrossedNotification": { - "description": "This type represents a notification that is sent when a threshold has been crossed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "thresholdId", - "crossingDirection", - "objectInstanceId", - "performanceMetric", - "performanceValue", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"ThresholdCrossedNotification \" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "thresholdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "crossingDirection": { - "description": "The enumeration CrossingDirectionType shall comply with the provisions. Acceptable Values are: UP - The threshold was crossed in upward direction. DOWN - The threshold was crossed in downward direction.\n", - "type": "string", - "enum": [ - "UP", - "DOWN" - ] - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric associated with the threshold.\n", - "type": "string" - }, - "performanceValue": { - "description": "Value of the metric that resulted in threshold crossing. See note.\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "objectInstance", - "threshold" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "threshold": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully. \n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Test the notification endpoint", - "description": "The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription. This method shall follow the provisions specified in the Tables 7.4.9.3.2-1 and 7.4.9.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content \nThe notification endpoint was tested successfully. The response body shall be empty. \n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized. If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} diff --git a/SOL005/NSPerformanceManagement-API/Subscriptions.robot b/SOL005/NSPerformanceManagement-API/Subscriptions.robot index 3751e4fe4387fc531c27a7499886bd2f4ded057e..7bfa09b4fe2df68bde3d0f7910ad551a28ad0fc9 100644 --- a/SOL005/NSPerformanceManagement-API/Subscriptions.robot +++ b/SOL005/NSPerformanceManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ Get All NS Performance Subscriptions ... Test title: Get All NS Performance Subscriptions ... Test objective: The objective is to test the retrieval of all NS Performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,7 +31,7 @@ Get NS Performance Subscriptions with attribute-based filter ... Test title: Get NS Performance Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of NS Performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ Get NS Performance Subscriptions with invalid attribute-based filter ... Test title: Get NS Performance Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of NS Performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ GET NS Performance Subscription with invalid resource endpoint ... Test title: GET NS Performance Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all NS Performance subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ Create new NS Performance subscription ... Test title: Create new NS Performance subscription ... Test objective: The objective is to test the creation of a new NS Performance subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance subscription is successfully set and it matches the issued subscription @@ -90,7 +90,7 @@ Create duplicated NS Performance subscription with NFVO not creating duplicated ... Test title: Create duplicated NS Performance subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated NS Performance subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing NS Performance subscription returned is available in the NFVO @@ -106,7 +106,7 @@ Create duplicated NS Performance subscription with NFVO creating duplicated subs ... Test title: Create duplicated NS Performance subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated NS Performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated NS Performance subscription is successfully set and it matches the issued subscription @@ -122,7 +122,7 @@ PUT NSD Performance Subscriptions - Method not implemented ... Test title: PUT NS Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS Performance subscriptions ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ PATCH NSD Performance Subscriptions - Method not implemented ... Test title: PATCH NS Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NS Performance subscriptions ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,10 +148,35 @@ DELETE NSD Performance Subscriptions - Method not implemented ... Test title: DELETE NS Performance Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NS Performance subscriptions ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. - ... Reference: clause 7.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance subscriptions are not deleted by the failed operation Send Delete Request for NS Performance Subscriptions Check HTTP Response Status Code Is 405 +Get All NS Performance Subscriptions as Paged Response + [Documentation] Test ID: 5.3.4.6.11 + ... Test title: Get All NS Performance Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all NS Performance subscriptions as paged response. + ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NS Performance Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get NS Performance Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.4.6.12 + ... Test title: Get NS Performance Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NS Performance subscriptions fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one NS Performance subscription is available in the NFVO. + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NS Performance Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/Thresholds.robot b/SOL005/NSPerformanceManagement-API/Thresholds.robot index a936bf8960515abea5f9a64c08986098c4a298a2..8affd84fe24ce7a063c29b97aca8bc4d2aeb5c7f 100644 --- a/SOL005/NSPerformanceManagement-API/Thresholds.robot +++ b/SOL005/NSPerformanceManagement-API/Thresholds.robot @@ -14,7 +14,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NS performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A NS instance is instantiated. - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is successfully created on the NFVO @@ -81,7 +81,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -105,10 +105,36 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: clause 7.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance thresholds are not deleted by the failed operation Send DELETE Request for all Performance Thresholds Check HTTP Response Status Code Is 405 - Check Postcondition Thresholds Exist \ No newline at end of file + Check Postcondition Thresholds Exist + +GET All Performance Thresholds as Paged Response + [Documentation] Test ID: 5.3.4.4.9 + ... Test title: GET All Performance Thresholds as Paged Response + ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds as paged response. + ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET Performance Thresholds - Bad Request Response too Big + [Documentation] Test ID: 5.3.4.4.10 + ... Test title: GET Performance Thresholds - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt b/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt index fec8c84b57f2f27c991fda4ae7b5b640f7159289..78a574197d739221a5462a2884452624be7ed3fc 100644 --- a/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt +++ b/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt @@ -1,3 +1,4 @@ *** Variables *** ${filter_ok} callbackUri=http://localhost/subscriptions ${filter_ko} erroneousFilter=erroneous +${SEPERATOR} = diff --git a/SOL005/NSPerformanceManagement-API/environment/thresholds.txt b/SOL005/NSPerformanceManagement-API/environment/thresholds.txt index 49461a0953bcdd310d7a8ddabc78efea1b4d946f..587560f0d556da259fb3666360ddcb090d2b6e6b 100644 --- a/SOL005/NSPerformanceManagement-API/environment/thresholds.txt +++ b/SOL005/NSPerformanceManagement-API/environment/thresholds.txt @@ -1,3 +1,4 @@ *** Variables *** -${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${FILTER_OK_Threshold} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/schemas/ApiVersionInformation.schema.json b/SOL005/NSPerformanceManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL005/NSPerformanceManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/README.md b/SOL005/README.md index d22f83fa9dfcfcd443ede4482c42d841cb32ab23..8b8fdae30fbea15a41cb2e493b91a61051df1553 100644 --- a/SOL005/README.md +++ b/SOL005/README.md @@ -2,7 +2,7 @@ This folder includes the NFV API conformance test descriptions for NFV SOL005 APIs. -The reference spec version is v2.4.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf< +The reference spec version is v2.6.1: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_NFV-SOL005v020601p.pdf ## License diff --git a/SOL005/VNFPackageManagement-API/ApiVersion.robot b/SOL005/VNFPackageManagement-API/ApiVersion.robot new file mode 100644 index 0000000000000000000000000000000000000000..787f4ccf549e453b2f04a782c9f3619a3d74bb65 --- /dev/null +++ b/SOL005/VNFPackageManagement-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.5.10.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.5.10.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.5.10.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.5.10.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.5.10.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.5.10.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.5.10.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.5.10.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.5.10.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.5.10.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/v1/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/IndividualSubscription.robot b/SOL005/VNFPackageManagement-API/IndividualSubscription.robot index 105f022a9907e5dbb11cced3997a5587f09c877d..06b4a44c55f8b75fc1a48fe61613c91c8170d2a1 100644 --- a/SOL005/VNFPackageManagement-API/IndividualSubscription.robot +++ b/SOL005/VNFPackageManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ GET Individual VNF Package Subscription ... Test title: GET Individual VNF Package Subscription ... Test objective: The objective is to test the retrieval of individual VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Package Subscription with invalid resource identifier ... Test title: GET Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ DELETE Individual VNF Package Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST Individual VNF Package Subscription - Method not implemented ... Test title: POST Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Package Subscription ... Pre-conditions: none - ... Reference: clause 9.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Individual VNF Package Subscription - Method not implemented ... Test title: PUT Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Individual VNF Package Subscription - Method not implemented ... Test title: PATCH Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE Individual VNF Package Subscription ... Test title: DELETE Individual VNF Package Subscription ... Test objective: The objective is to test the deletion of an individual VNF package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Subscription is not available anymore in the NFVO diff --git a/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot index fd0433806683862805d9641248bbaf91d88bca39..8e8d887c0f0d03c7fa720b8405b805e7606c8515 100644 --- a/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot @@ -12,7 +12,7 @@ GET Individual VNF Package ... Test title: GET Individual VNF Package ... Test objective: The objective is to test the retrieval of an individual VNF package information perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual VNF Package with invalid resource identifier ... Test title: GET Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Individual VNF Package - Method not implemented ... Test title: POST Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package ... Pre-conditions: none - ... Reference: clause 9.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Package - Method not implemented ... Test title: PUT Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ Disable Individual VNF Package ... Test title: Disable Individual VNF Package ... Test objective: The objective is to test the disabling of an individual VNF Package and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state. - ... Reference: clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state DISABLED @@ -76,7 +76,7 @@ Disable Individual VNF Package with conflict due to operational state DISABLED ... Test title: Disable Individual VNF Package with conflict due to operational state DISABLED ... Test objective: The objective is to test that disabling an individual VNF Package that is already in DISABLED operational state fails and perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.5.2.5). - ... Reference: clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ Enable Individual VNF Package ... Test title: Enable Individual VNF Package ... Test objective: The objective is to test the enabling of an individual VNF Package and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.5.2.5). - ... Reference: clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state ENABLED @@ -103,7 +103,7 @@ Enable Individual VNF Package with conflict due to operational state ENABLED ... Test title: Enable Individual VNF Package with conflict due to operational state ENABLED ... Test objective: The objective is to test that enabling an individual VNF Package that is already in ENABLED operational state fails and perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.5.2.7). - ... Reference: clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ DELETE Individual VNF Package ... Test title: DELETE Individual VNF Package ... Test objective: The objective is to test the deletion of an individual VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO in DISABLED operational state - ... Reference: clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not available anymore in the NFVO @@ -129,7 +129,7 @@ DELETE Individual VNF Package in operational state ENABLED ... Test title: DELETE Individual VNF Package in operational state ENABLED ... Test objective: The objective is to test that the deletion of an individual VNF Package in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more VNF Package are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.7). - ... Reference: clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation. @@ -143,7 +143,7 @@ DELETE Individual VNF Package used for instantiated VNF instances ... Test title: DELETE Individual VNF Package used for instantiated VNF instances ... Test objective: The objective is to test that the deletion of an individual VNF Package that is used in instantiated VNF instances fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more VNF instances are instantiated based on the concerned VNF package. - ... Reference: clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation. diff --git a/SOL005/VNFPackageManagement-API/Notifications.robot b/SOL005/VNFPackageManagement-API/Notifications.robot index a031223824e199ba8f5deaa2baf069a15270f720..fefa8c79b87dab95993f0b2d24020e8a1e4fbca7 100644 --- a/SOL005/VNFPackageManagement-API/Notifications.robot +++ b/SOL005/VNFPackageManagement-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test the dispatch of VNF Package Onboarding notification when the VNF package onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ VNF Package Operational State Change Notification ... Test title: VNF Package Operational State Change Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package operational state is modified, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ VNF Package Deletion Notification ... Test title: VNF Package Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package is deleted on the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/SOL005-VNFPackageManagement-API.json b/SOL005/VNFPackageManagement-API/SOL005-VNFPackageManagement-API.json deleted file mode 100644 index a4472c00c5f09cb89afc09903bbfad83ae71013a..0000000000000000000000000000000000000000 --- a/SOL005/VNFPackageManagement-API/SOL005-VNFPackageManagement-API.json +++ /dev/null @@ -1,8756 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.0.0", - "title": "SOL005 - VNF Package Management Interface", - "description": "SOL005 - VNF Package Management Interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n", - "license": { - "name": "ETSI Forge copyright notice", - "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" - }, - "contact": { - "name": "NFV-SOL WG" - } - }, - "externalDocs": { - "description": "ETSI GS NFV-SOL 005 V2.4.1", - "url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf" - }, - "basePath": "/vnfpkgm/v1", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/vnf_packages": { - "get": { - "summary": "Query VNF packages information.", - "description": "The GET method queries the information of the VNF packages matching the filter. This method shall follow the provisions specified in the Tables 9.4.2.3.2-1 and 9.4.2.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the VnfPkgInfo and in data types referenced from it shall be supported in attribute-based filtering parameters.\n" - }, - { - "name": "all_fields", - "in": "query", - "required": false, - "type": "string", - "description": "Include all complex attributes in the response. See clause 4.3.3 for details. The NFVO shall support this parameter.\n" - }, - { - "name": "fields", - "in": "query", - "required": false, - "type": "string", - "description": "Complex attributes to be included into the response. See clause 4.3.3 for details. The NFVO should support this parameter. \n" - }, - { - "name": "exclude_fields", - "in": "query", - "required": false, - "type": "string", - "description": "Complex attributes to be excluded from the response. See clause 4.3.3 for details. The NFVO should support this parameter.\n" - }, - { - "name": "exclude_default", - "in": "query", - "required": false, - "type": "string", - "description": "Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the VnfPkgInfo structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: - softwareImages - additionalArtifacts - userDefinedData - checksum\n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation of the selected VNF packages.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "VnfPkgInfo": { - "type": "object", - "required": [ - "id", - "onboardingState", - "operationalState", - "usageState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF product.Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "softwareImages": { - "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact contained in a VNF package which represents a software image. \n", - "required": [ - "id", - "name", - "provider", - "version", - "checksum", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size", - "imagePath" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the software image.\n", - "type": "string" - }, - "name": { - "description": "Name of the software image.\n", - "type": "string" - }, - "provider": { - "description": "Provider of the software image.\n", - "type": "string" - }, - "version": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "containerFormat": { - "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "minDisk": { - "description": "The minimal disk for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "minRam": { - "description": "The minimal RAM for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "size": { - "description": "Size of this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "imagePath": { - "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", - "type": "string" - } - } - } - }, - "additionalArtifacts": { - "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", - "type": "array", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", - "required": [ - "artifactPath", - "checksum" - ], - "type": "object", - "properties": { - "artifactPath": { - "description": "This type represents stack of string values\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "onboardingState": { - "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded.\n", - "type": "string", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "usageState": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfd": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "packageContent": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "post": { - "summary": "Create a new individual VNF package resource.", - "description": "The POST method creates a new individual VNF package resource.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "CreateVnfPkgInfoRequest" - ], - "properties": { - "CreateVnfPkgInfoRequest": { - "type": "object", - "properties": { - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - }, - "description": "IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2. \n" - } - }, - "description": "IndividualVNF package resource creation parameters, as defined in clause 9.5.2.2\n" - } - } - ], - "responses": { - "201": { - "description": "201 Created \nAn individual VNF package resource has been created successfully. The response body shall contain a representation of the new individual VNF package resource, as defined in clause 9.5.2.4. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the individual VNF package resource.\n", - "schema": { - "properties": { - "VnfPkgInfo": { - "type": "object", - "required": [ - "id", - "onboardingState", - "operationalState", - "usageState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF product.Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "softwareImages": { - "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact contained in a VNF package which represents a software image. \n", - "required": [ - "id", - "name", - "provider", - "version", - "checksum", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size", - "imagePath" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the software image.\n", - "type": "string" - }, - "name": { - "description": "Name of the software image.\n", - "type": "string" - }, - "provider": { - "description": "Provider of the software image.\n", - "type": "string" - }, - "version": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "containerFormat": { - "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "minDisk": { - "description": "The minimal disk for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "minRam": { - "description": "The minimal RAM for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "size": { - "description": "Size of this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "imagePath": { - "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", - "type": "string" - } - } - } - }, - "additionalArtifacts": { - "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", - "type": "array", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", - "required": [ - "artifactPath", - "checksum" - ], - "type": "object", - "properties": { - "artifactPath": { - "description": "This type represents stack of string values\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "onboardingState": { - "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded.\n", - "type": "string", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "usageState": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfd": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "packageContent": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - } - } - } - }, - "/vnf_packages/{vnfPkgId}": { - "parameters": [ - { - "name": "vnfPkgId", - "description": "Identifier of the VNF package. The identifier is allocated by the NFVO. \n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read information about an individual VNF package.", - "description": "The GET method reads the information of a VNF package.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nInformation of the VNF package. \n", - "schema": { - "type": "object", - "properties": { - "VnfPkgInfo": { - "type": "object", - "required": [ - "id", - "onboardingState", - "operationalState", - "usageState" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "Provider of the VNF package and the VNFD. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfProductName": { - "description": "Name to identify the VNF product.Invariant for the VNF product lifetime. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "softwareImages": { - "description": "Information about VNF package artifacts that are software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n", - "type": "array", - "items": { - "description": "This type represents an artifact contained in a VNF package which represents a software image. \n", - "required": [ - "id", - "name", - "provider", - "version", - "checksum", - "containerFormat", - "diskFormat", - "createdAt", - "minDisk", - "minRam", - "size", - "imagePath" - ], - "type": "object", - "properties": { - "id": { - "description": "Identifier of the software image.\n", - "type": "string" - }, - "name": { - "description": "Name of the software image.\n", - "type": "string" - }, - "provider": { - "description": "Provider of the software image.\n", - "type": "string" - }, - "version": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "containerFormat": { - "description": "Container format indicates whether the software image is in a file format that also contains meta-data about the actual software. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ram disk image format - BARE: the image does not have a container or meta-data envelope - DOCKER: docker container format - OVA: OVF package in a tar file - OVF: OVF container format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "BARE", - "DOCKER", - "OVA", - "OVF" - ] - }, - "diskFormat": { - "description": "Disk format of a software image is the format of the underlying disk image. Permitted values: - AKI: a kernel image format - AMI: a machine image format - ARI: a ramdisk image format - ISO: an archive format for the data contents of an optical disc, such as CD-ROM - QCOW2: a common disk image format, which can expand dynamically and supports copy on write - RAW: an unstructured disk image format - VDI: a common disk image format - VHD: a common disk image format - VHDX: enhanced version of VHD format - VMDK: a common disk image format\n", - "type": "string", - "enum": [ - "AKI", - "AMI", - "ARI", - "ISO", - "QCOW2", - "RAW", - "VDI", - "VHD", - "VHDX", - "VMDK" - ] - }, - "createdAt": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "minDisk": { - "description": "The minimal disk for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "minRam": { - "description": "The minimal RAM for this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "size": { - "description": "Size of this software image in bytes.\n", - "type": "integer", - "minimum": 0 - }, - "userMetadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "imagePath": { - "description": "Path in the VNF package, which identifies the image artifact and also allows to access a copy of the image artifact.\n", - "type": "string" - } - } - } - }, - "additionalArtifacts": { - "description": "Information about VNF package artifacts contained in the VNF package that are not software images. This attribute shall not be present before the VNF package content is on-boarded. Otherwise, this attribute shall be present if the VNF package contains additional artifacts.\n", - "type": "array", - "items": { - "description": "This type represents an artifact other than a software image which is contained in a VNF package. It shall comply with provisions defined in Table 9.5.3.3-1.\n", - "required": [ - "artifactPath", - "checksum" - ], - "type": "object", - "properties": { - "artifactPath": { - "description": "This type represents stack of string values\n", - "type": "string" - }, - "checksum": { - "description": "This type represents the checksum of a VNF package or an artifact file. \n", - "required": [ - "algorithm", - "hash" - ], - "type": "object", - "properties": { - "algorithm": { - "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", - "type": "string" - }, - "hash": { - "description": "The hexadecimal value of the checksum.\n", - "type": "string" - } - } - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "onboardingState": { - "description": "The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1. Permitted values: - CREATED: The VNF package resource has been created. - UPLOADING: The associated VNF package content is being uploaded. - PROCESSING: The associated VNF package content is being processed, e.g. validation. - ONBOARDED: The associated VNF package content is successfully on-boarded.\n", - "type": "string", - "enum": [ - "CREATED", - "UPLOADING", - "PROCESSING", - "ONBOARDED" - ] - }, - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "usageState": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - }, - "_links": { - "type": "object", - "description": "Links to resources related to this resource.\n", - "required": [ - "self", - "packageContent" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "vnfd": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "packageContent": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - }, - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response.This header field shall be present if the response has a non-empty message body.\n" - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Delete an individual VNF package.", - "description": "The DELETE method deletes an individual VNF Package resource.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe VNF package was deleted successfully. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to any of the following scenarios: - Disable a VNF package resource of hich the operational state is not ENABLED - Enable a VNF package resource of which the operational state is not DISABLED The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "patch": { - "summary": "Update information about an individual VNF package.", - "description": "\"The PATCH method updates the information of a VNF package.\"\n\"This method shall follow the provisions specified in the Tables 9.4.3.3.4-1 and 9.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes.\"\n", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "VnfPkgInfoModifications" - ], - "properties": { - "VnfPkgInfoModifications": { - "description": "This type represents modifications to the information of a VNF package. It shall comply with the provisions defined in Table 9.5.2.3-1.\n", - "properties": { - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - }, - "description": "Parameters for VNF package information modifications.\n" - } - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nThe operation was completed successfully. The response body shall contain attribute modifications for an \"Individual VNF package\" resource\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "properties": { - "VnfPkgInfoModifications": { - "description": "This type represents modifications to the information of a VNF package. It shall comply with the provisions defined in Table 9.5.2.3-1.\n", - "properties": { - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to any of the following scenarios: - Disable a VNF package resource of hich the operational state is not ENABLED - Enable a VNF package resource of which the operational state is not DISABLED The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_packages/{vnfPkgId}/vnfd": { - "parameters": [ - { - "name": "vnfPkgId", - "description": "Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read VNFD of an on-boarded VNF package.", - "description": "The GET method reads the content of the VNFD within a VNF package.\nThe VNFD can be implemented as a single file or as a collection of multiple files. If the VNFD is implemented in the form of multiple files, a ZIP file embedding these files shall be returned. If the VNFD is implemented as a single file, either that file or a ZIP file embedding that file shall be returned. The selection of the format is controlled by the \"Accept\" HTTP header passed in the GET request. • If the \"Accept\" header contains only \"text/plain\" and the VNFD is implemented as a single file, the file shall be returned; otherwise, an error message shall be returned. • If the \"Accept\" header contains only \"application/zip\", the single file or the multiple files that make up the VNFD shall be returned embedded in a ZIP file. • If the \"Accept\" header contains both \"text/plain\" and \"application/zip\", it is up to the NFVO to choose the format to return for a single-file VNFD; for a multi-file VNFD, a ZIP file shall be returned. The default format of the ZIP file shall be the one specified in ETSI GS NFV-SOL 004 [5] where only the YAML files representing the VNFD, and information necessary to navigate the ZIP file and to identify the file that is the entry point for parsing the VNFD (such as TOSCA-meta or manifest files or naming conventions) are included. This method shall follow the provisions specified in the Tables 9.4.4.3.2-1 and 9.4.4.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "text/plain", - "application/zip" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nOn success, the content of the VNFD is returned. The payload body shall contain a copy of the file representing the VNFD or a ZIP file that contains the file or multiple files representing the VNFD, as specified above. The \"Content-Type\" HTTP header shall be set according to the format of the returned file, i.e. to \"text/plain\" for a YAML file or to \"application/zip\" for a ZIP file.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that \"onboardingState\" of the VNF package has a value different from \"ONBOARDED\". The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_packages/{vnfPkgId}/package_content": { - "parameters": [ - { - "name": "vnfPkgId", - "description": "Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO.\n", - "in": "path", - "required": true, - "type": "string" - } - ], - "get": { - "summary": "Fetch an on-boarded VNF package.", - "description": "The GET method fetches the content of a VNF package identified by the VNF package identifier allocated by the NFVO. This method shall follow the provisions specified in the Tables 9.4.5.3.2-1 and 9.4.5.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "application/zip" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Range", - "in": "header", - "required": false, - "type": "string", - "description": "The request may contain a \"Range\" HTTP header to obtain single range of bytes from the VNF package file. This can be used to continue an aborted transmission.\n \nIf the NFVO does not support range requests, it should return the whole file with a 200 OK response instead.\n" - } - ], - "responses": { - "200": { - "description": "200 OK\nOn success, a copy of the VNF package file is returned. The response body shall include a copy of the VNF package file. The \"Content-Type\" HTTP header shall be set according to the type of the file, i.e. to \"application/zip\" for a VNF Package as defined in ETSI GS NFV-SOL 004 [5].\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content.\nOn success, if the NFVO supports range requests, a single consecutive byte range from the content of the NSD file is returned. The response body shall contain the requested part of the NSD file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233 [23]. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response. \n", - "headers": { - "Content-Range": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that \"onboardingState\" of the VNF package has a value different from \"ONBOARDED\". The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "put": { - "summary": "Upload a VNF package by providing the content of the VNF package.", - "description": "The PUT method uploads the content of a VNF package. This method shall follow the provisions specified in the Tables 9.4.5.3.3-1 and 9.4.5.3.3-2 for URI query parameters, request and response data structures, and response codes.\n", - "consumes": [ - "multipart/form-data" - ], - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "application/zip" - ] - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "in": "formData", - "name": "file", - "required": false, - "type": "file", - "description": "The payload body contains a ZIP file that represents the VNF package. The \"Content-Type\" HTTP header shall be set according to the type of the file, i.e. to \"application/zip\" for a VNF Package as defined in ETSI GS NFV-SOL 004 [5]. \n" - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe VNF package was accepted for uploading, but the processing has not been completed. It is expected to take some time for processing. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the on boarding state of the VNF package resource is not CREATED . The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_packages/{vnfPkgId}/package_content/upload_from_uri": { - "post": { - "summary": "Upload a VNF package by providing the address information of the VNF package.", - "description": "The POST method provides the information for the NFVO to get the content of a VNF package. This method shall follow the provisions specified in the Tables 9.4.6.3.1-1 and 9.4.6.3.1-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "vnfPkgId", - "description": "Identifier of the VNF package. The identifier is allocated by the NFVO.\n", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "UploadVnfPkgFromUriRequest" - ], - "properties": { - "UploadVnfPkgFromUriRequest": { - "type": "object", - "properties": { - "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. \n", - "type": "object" - } - }, - "description": "\"The payload body contains the address information based on which the NFVO can obtain the content of the VNF package\"\n" - } - }, - "description": "The payload body contains the address information based on which the NFVO can obtain the content of the VNF package. \n" - } - } - ], - "responses": { - "202": { - "description": "202 Accepted\nThe information about the VNF package was received successfully, but the on-boarding has not been completed. It is expected to take some time for processing. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the on boarding state of the VNF package resource is not CREATED . The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/vnf_packages/{vnfPkgId}/artifacts/{artifactPath}": { - "parameters": [ - { - "name": "vnfPkgId", - "description": "Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO. This identifier can be retrieved from the \"vnfPkgId\" attribute in the VnfPackageOnboardingNotification or VnfPackageChangeNotification.\n", - "in": "path", - "type": "string", - "required": true - }, - { - "name": "artifactPath", - "description": "Path of the artifact within the VNF package. This identifier can be retrieved from the \"artifactPath\" attribute of the applicable \"additionalArtifacts\" entry in the body of the response to a GET request querying the \"Individual VNF package\" or the \"VNF packages\" resource.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Fetch individual VNF package artifact.", - "description": "The GET method fetches the content of an artifact within a VNF package. This method shall follow the provisions specified in the Tables 9.4.7.3.2-1 and 9.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response.\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Range", - "description": "The request may contain a \"Range\" HTTP header to obtain single range of bytes from the VNF package file. This can be used to continue an aborted transmission. If the NFVO does not support range requests, it should return the whole file with a 200 OK response instead.\n", - "in": "header", - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\n On success, the content of the artifact is returned.\nThe payload body shall contain a copy of the artifact file from the VNF package, as defined by ETSI GS NFV-SOL 004. The \"Content-Type\" HTTP header shall be set according to the content type of the artifact file. If the content type cannot be determined, the header shall be set to the value \"application/octet-stream\".\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "206": { - "description": "Partial Content. On success, if the NFVO supports range requests, a single consecutive byte range from the content of the VNF package file is returned. The response body shall contain the requested part of the VNF package file. The \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233. The \"Content-Type\" HTTP header shall be set as defined above for the \"200 OK\" response.\n", - "headers": { - "Content-Range": { - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "409": { - "description": "Conflict.\nError: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to any of the following scenarios: - Disable a VNF package resource of hich the operational state is not ENABLED - Enable a VNF package resource of which the operational state is not DISABLED The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute shall convey more information about the error.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions": { - "post": { - "summary": "Subscribe to notifications related to on-boarding and/or changes of VNF packages.", - "description": "The POST method creates a new subscription. This method shall follow the provisions specified in the Tables 9.4.8.3.1-1 and 9.4.8.3.1-2 for URI query parameters, request and response data structures, and response codes. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the OSS, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the \"201 Created\" response code), or may decide to not create a duplicate subscription resource (in which case it shall return a \"303 See Other\" response code referencing the existing subscription resource with the same filter and callbackUri).\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "PkgmSubscriptionRequest" - ], - "properties": { - "PkgmSubscriptionRequest": { - "description": "This type represents a subscription request related to VNF package management notifications about VNF package on boarding or changes.\n", - "type": "object", - "required": [ - "callbackUri" - ], - "properties": { - "filter": { - "description": "This type represents a subscription filter related to notifications related to VNF package management. 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": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - VnfPackageOnboardingNotification - VnfPackageChangeNotification\n", - "type": "string", - "enum": [ - "VnfPackageOnboardingNotification", - "VnfPackageChangeNotification" - ] - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF packages that contain VNF products from certain providers.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNFprovider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF packages that contain 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 packages that contain 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": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF packages that contain VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "vnfdId": { - "description": "Match VNF packages with a VNFD identifier listed in the attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgId": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "operationalState": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "usageState": { - "description": "Match particular usage state of the on-boarded VNF package. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - } - } - } - }, - "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\n HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n 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\n 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" - } - } - } - } - } - } - } - }, - "description": "Representation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n" - } - } - ], - "responses": { - "201": { - "description": "201 Created\nRepresentation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "PkgmSubscription": { - "description": "This type represents a subscription related to notifications about VNF package management.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications related to VNF package management. 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": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - VnfPackageOnboardingNotification - VnfPackageChangeNotification\n", - "type": "string", - "enum": [ - "VnfPackageOnboardingNotification", - "VnfPackageChangeNotification" - ] - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF packages that contain VNF products from certain providers.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNFprovider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF packages that contain 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 packages that contain 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": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF packages that contain VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "vnfdId": { - "description": "Match VNF packages with a VNFD identifier listed in the attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgId": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "operationalState": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "usageState": { - "description": "Match particular usage state of the on-boarded VNF package. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "303": { - "description": "See Other A subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n" - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Query multiple subscriptions.", - "description": "The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations. This method shall follow the provisions specified in the Tables 9.4.7.8.2-1 and 9.4.8.3.2-2 for URI query parameters, request and response data structures, and response codes.\n", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "type": "string", - "description": "Attribute-based filtering parameters according to clause 4.3.2. The NFVO shall support receiving filtering parameters as part of the URI query string. The OSS/BSS may supply filtering parameters. All attribute names that appear in the PkgmSubscription and in data types referenced from it shall be supported in attribute-based filtering parameters \n" - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nActive subscriptions of the functional block that invokes the method.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "type": "array", - "items": { - "properties": { - "PkgmSubscription": { - "description": "This type represents a subscription related to notifications about VNF package management.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications related to VNF package management. 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": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - VnfPackageOnboardingNotification - VnfPackageChangeNotification\n", - "type": "string", - "enum": [ - "VnfPackageOnboardingNotification", - "VnfPackageChangeNotification" - ] - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF packages that contain VNF products from certain providers.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNFprovider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF packages that contain 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 packages that contain 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": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF packages that contain VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "vnfdId": { - "description": "Match VNF packages with a VNFD identifier listed in the attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgId": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "operationalState": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "usageState": { - "description": "Match particular usage state of the on-boarded VNF package. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}": { - "parameters": [ - { - "name": "subscriptionId", - "description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n", - "in": "path", - "type": "string", - "required": true - } - ], - "get": { - "summary": "Read an individual subscription resource.", - "description": "Query Subscription Information The GET method reads an individual subscription.\n", - "parameters": [ - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "200 OK\nRepresentation of the subscription resource.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "properties": { - "PkgmSubscription": { - "description": "This type represents a subscription related to notifications about VNF package management.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications related to VNF package management. 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": { - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - VnfPackageOnboardingNotification - VnfPackageChangeNotification\n", - "type": "string", - "enum": [ - "VnfPackageOnboardingNotification", - "VnfPackageChangeNotification" - ] - }, - "vnfProductsFromProviders": { - "description": "If present, match VNF packages that contain VNF products from certain providers.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "vnfProvider" - ], - "properties": { - "vnfProvider": { - "description": "Name of the VNFprovider to match.\n", - "type": "string" - }, - "vnfProducts": { - "description": "If present, match VNF packages that contain 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 packages that contain 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": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - }, - "vnfdVersions": { - "description": "If present, match VNF packages that contain VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n", - "type": "array", - "items": { - "description": "Software version of the VNF. This is changed when there is any change to the software included in the VNF package. This information is copied from the VNFD. It shall be present after the VNF package content has been on-boarded and absent otherwise.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "vnfdId": { - "description": "Match VNF packages with a VNFD identifier listed in the attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfPkgId": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "operationalState": { - "description": "Match VNF packages with a package identifier listed in the attribute. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - } - }, - "usageState": { - "description": "Match particular usage state of the on-boarded VNF package. May be present if the \"notificationTypes\" attribute contains the value \"VnfPackageChangeNotification\", and shall be absent otherwise.\n", - "type": "array", - "items": { - "type": "string", - "description": "\"The enumeration PackageUsageStateType shall comply with the provisions. Acceptable values are: -IN_USE - VNF instances instantiated from this VNF package exist. -NOT_IN_USE - No existing VNF instance is instantiated from this VNF package\" \n", - "enum": [ - "IN_USE", - "NOT_IN_USE" - ] - } - } - } - } - } - } - }, - "callbackUri": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "delete": { - "summary": "Terminate a subscription.", - "description": "The DELETE method terminates an individual subscription.\n", - "parameters": [ - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "No Content\nThe subscription resource was deleted successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "404": { - "description": "Not Found If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "405": { - "description": "Method Not Allowed If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "406": { - "description": "If the \"Accept\" header does not contain at least one name of a content type for which the NFVO can provide a representation of the VNFD, the NFVO shall respond with this response code. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "416": { - "description": "Requested Range Not Satisfiable\nThe byte range passed in the \"Range\" header did not match any available byte range in the VNF package file (e.g. \"access after end of file\"). The response body may contain a ProblemDetails structure.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification": { - "post": { - "summary": "Notify about VNF package onboarding or change", - "description": "The POST method delivers a notification from the server to the client. This method shall follow the provisions specified in the Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, request and response data structures, and response codes. \n", - "parameters": [ - { - "name": "VnfPackageOnboardingNotification", - "description": "A notification about on-boarding of a VNF package.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "VnfPackageOnboardingNotification": { - "description": "This type represents a VNF package management notification, which informs the receiver that the on boarding process of a VNF package incomplete and the package is ready for use. A change of the on-boarding state before the VNF package is on-boarded is not reported. It shall comply with the provisions defined in Table 9.5.2.8-1. The support of this notification is mandatory. The notification shall be triggered by the NFVO when the value of the \"onboardingState\" attribute of a new VNF package has changed to \"ONBOARDED\".\n", - "type": "object", - "required": [ - "id", - "notificationType", - "timeStamp", - "vnfPkgId", - "vnfdId", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"VnfPackageOnboardingNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "This type represents the links to resources that a VNF package management notification can contain. \n", - "required": [ - "vnfPackage", - "subscription" - ], - "type": "object", - "properties": { - "vnfPackage": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully. \n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - }, - "/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageChangeNotification": { - "post": { - "summary": "Notify about VNF package onboarding or change", - "description": "The POST method delivers a notification from the server to the client. This method shall follow the provisions specified in the Tables 9.4.10.3.1-1 and 9.4.10.3.1-2 for URI query parameters, request and response data structures, and response codes. \n", - "parameters": [ - { - "name": "VnfPackageChangeNotification", - "description": "A notification about changes of status in a VNF package.\n", - "in": "body", - "required": true, - "schema": { - "properties": { - "VnfPackageChangeNotification": { - "description": "This type represents a VNF package management notification, which informs the receiver of a change of the status in an on-boarded VNF package. Only changes in the \"operationalState\" attribute of an on-boarded VNF package and the deletion of the VNF package will be reported. Change in the \"usageState\" and \"onboardingState\" attributes are not reported. The notification shall comply with the provisions defined in Table 9.5.2.9-1. The support of this notification is mandatory. The notification shall be triggered by the NFVO when there is a change in the status of an onboarded VNF package, as follows. • The \"operationalState\" attribute of a VNF package has changed, and the \"onboardingState\" attribute of the package has the value \"ONBOARDED\". • The on-boarded VNF package has been deleted.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "timeStamp", - "vnfPkgId", - "vnfdId", - "changeType", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"VnfPackageChangeNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "vnfPkgId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "type": "string", - "description": "The enumeration PackageChangeType shall comply with the provisions defined in Table 9.5.4.6-1. Permitted Values: - OP_STATE_CHANGE: The \"operationalState\" attribute has been changed. - PKG_DELETE: The VNF package has been deleted.\n", - "enum": [ - "OP_STATE_CHANGE", - "PKG_DELETE" - ] - }, - "operationalState": { - "type": "string", - "description": "\"The enumeration PackageOperationalStateType shall comply with the provisions defined in Table 9.5.4.4-1.\" Acceptable values are: -ENABLED - The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances. -DISABLED - The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless and until the VNF package is re-enabled).\n", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "_links": { - "description": "This type represents the links to resources that a VNF package management notification can contain. \n", - "required": [ - "vnfPackage", - "subscription" - ], - "type": "object", - "properties": { - "vnfPackage": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } - } - } - }, - { - "name": "Accept", - "description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - }, - { - "name": "Content-Type", - "description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n", - "in": "header", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification was delivered successfully.\n", - "headers": { - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "maximum": 1, - "minimum": 0 - } - } - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - }, - "get": { - "summary": "Test the notification endpoint", - "description": "The GET method allows the server to test the notification endpoint that is provided by the client, e.g. during subscription. This method shall follow the provisions specified in the Tables 9.4.10.3.2-1 and 9.4.10.3.2-2 for 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, - "type": "string" - }, - { - "name": "Authorization", - "description": "The authorization token for the request. Reference: IETF RFC 7235\n", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "204": { - "description": "204 No Content\nThe notification endpoint was tested successfully. The response body shall be empty. \n" - }, - "400": { - "description": "Bad Request.\nError: Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error. \n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - }, - "WWW-Authenticate": { - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n", - "type": "string", - "maximum": 1, - "minimum": 0 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "401": { - "description": "Unauthorized If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n", - "headers": { - "Content-Type": { - "type": "string", - "description": "The MIME type of the body of the response." - }, - "WWW-Authenticate": { - "type": "string", - "description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n" - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "403": { - "description": "Forbidden If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "500": { - "description": "Internal Server Error If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The ProblemDetails structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - }, - "503": { - "description": "Service Unavailable If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the Retry-After HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n", - "headers": { - "Content-Type": { - "description": "The MIME type of the body of the response.", - "type": "string", - "maximum": 1, - "minimum": 1 - } - }, - "schema": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - } - } - } - } - } - } -} diff --git a/SOL005/VNFPackageManagement-API/Subscriptions.robot b/SOL005/VNFPackageManagement-API/Subscriptions.robot index 32fd85cc1e926c3636c0bd2f7b3e87f8b94adec2..00d943bf7feb566a94e67cb35f4349546b74dd4f 100644 --- a/SOL005/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL005/VNFPackageManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ Get All VNF Package Subscriptions ... Test title: GET all VNF Package Subscriptions ... Test objective: The objective is to test the retrieval of all VNF package subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,13 +31,13 @@ Get VNF Package Subscriptions with attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF package subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none Get VNF Package Subscriptions with attribute-based filters Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PkgmSubscription + Check HTTP Response Body Json Schema Is PkgmSubscriptions Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter @@ -46,7 +46,7 @@ Get VNF Package Subscriptions with invalid attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ GET VNF Package Subscription with invalid resource endpoint ... Test title: GET VNF Package Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF package subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ Create new VNF Package subscription ... Test title: Create new VNF Package subscription ... Test objective: The objective is to test the creation of a new VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF package subscription is successfully set and it matches the issued subscription @@ -87,7 +87,7 @@ Create duplicated VNF Package subscription with NFVO not creating duplicated sub ... Test title: Create duplicated VNF Package subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF package subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF package subscription returned is available in the NFVO @@ -103,7 +103,7 @@ Create duplicated VNF Package subscription with NFVO creating duplicated subscri ... Test title: Create duplicated VNF Package subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF package subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF package subscription is successfully set and it matches the issued subscription @@ -118,7 +118,7 @@ PUT VNF Package Subscriptions - Method not implemented ... Test title: PUT VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ PATCH VNF Package Subscriptions - Method not implemented ... Test title: PATCH VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: clause 9.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,4 +148,30 @@ DELETE VNF Package Subscriptions - Method not implemented ... Post-Conditions: The VNF package subscriptions are not deleted by the failed operation Send Delete Request for VNF Package Subscriptions Check HTTP Response Status Code Is 405 - Check Postcondition VNF Package Subscriptions Exists \ No newline at end of file + Check Postcondition VNF Package Subscriptions Exists + +Get All VNF Package Subscriptions as Paged Response + [Documentation] Test ID: 5.3.5.7.11 + ... Test title: GET all VNF Package Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all VNF package subscriptions as paged response. + ... Pre-conditions: At least one VNF package subscription is available in the NFVO. + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all VNF Package Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +Get VNF Package Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.5.7.12 + ... Test title: Get VNF Package Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one VNF package subscription is available in the NFVO. + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all VNF Package Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot index 891af0b07207b5118eb575a54b40674e30883f68..9ea927e2940c2f37a97e61edbc1d200ffcfca386 100644 --- a/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot @@ -12,7 +12,7 @@ Get single file VNFD in Individual VNF Package in Plain Format ... Test title: Get single file VNFD in Individual VNF Package in Plain Format ... Test objective: The objective is to test the retrieval of the VNFD in plain format for an individual VNF package and perform a validation that returned content is in plain format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNFD in Individual VNF Package in Zip Format ... Test title: Get VNFD in Individual VNF Package in Zip Format ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get single file VNFD in Individual VNF Package in Plain or Zip Format ... Test title: Get single file VNFD in Individual VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Plain or Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a single file ... Post-Conditions: none @@ -51,7 +51,7 @@ Get multi file VNFD in Individual VNF Package in Plain or Zip Format ... Test title: Get multi file VNFD in Individual VNF Package in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file VNFD for an individual VNF package when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -64,7 +64,7 @@ Get multi file VNFD in Individual VNF Package in Plain Format ... Test title: Get multi file VNFD in Individual VNF Package in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file VNFD for an individual VNF package fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFD is implemented as a multi file ... Post-Conditions: none @@ -77,7 +77,7 @@ Get VNFD in Individual VNF Package with invalid resource identifier ... Test title: Get VNFD in Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF Package fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ Get VNFD in Individual VNF Package with conflict due to onboarding state ... Test title: Get VNFD in Individual VNF Package with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF Package fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ POST VNFD in Individual VNF Package - Method not implemented ... Test title: POST VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNFD ... Pre-conditions: none - ... Reference: clause 9.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ PUT VNFD in Individual VNF Package - Method not implemented ... Test title: PUT VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -126,7 +126,7 @@ PATCH VNFD in Individual VNF Package - Method not implemented ... Test title: PATCH VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -138,7 +138,7 @@ DELETE VNFD in Individual VNF Package - Method not implemented ... Test title: DELETE VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNFD is not deleted by the failed operation diff --git a/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot b/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot index 012b245b61a744fb2fa0c1291e9f0dfb7dc7e01a..17fe131cf12c88d248fe202ddb2fe949143c8dbb 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Artifact ... Test title: GET Individual VNF Package Artifact ... Test objective: The objective is to test the retrieval of an individual VNF package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual VNF Package Artifact in octet stream format ... Test title: GET Individual VNF Package Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -37,7 +37,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -63,7 +63,7 @@ GET Individual VNF Package Artifact with invalid Range Request ... Test title: GET Individual VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -75,7 +75,7 @@ GET Individual VNF Package Artifact with invalid resource identifier ... Test title: GET Individual VNF Package Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET Individual VNF Package Artifact with conflict due to onboarding state ... Test title: GET Individual VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Individual VNF Package Artifact - Method not implemented ... Test title: POST Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PUT Individual VNF Package Artifact - Method not implemented ... Test title: PUT Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ PATCH Individual VNF Package Artifact - Method not implemented ... Test title: PATCH Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ DELETE Individual VNF Package Artifact - Method not implemented ... Test title: DELETE Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package artifact is not deleted by the failed operation diff --git a/SOL005/VNFPackageManagement-API/VNFPackageContent.robot b/SOL005/VNFPackageManagement-API/VNFPackageContent.robot index e714b24ea566b3329f73593aa2122c5914c12abb..8d4248295881a76f9998606340f0bba055fd1c4e 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageContent.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageContent.robot @@ -13,7 +13,7 @@ GET Individual VNF Package Content ... Test title: GET Individual VNF Package Content ... Test objective: The objective is to test the retrieval of an individual VNF package content and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual VNF Package Content with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Individual VNF Package Content with Range Request and NFVO not supporting Ra ... Test title: GET Individual VNF Package Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Individual VNF Package Content with invalid Range Request ... Test title: GET Individual VNF Package Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -66,7 +66,7 @@ GET Individual VNF Package Content with invalid resource identifier ... Test title: GET Individual VNF Package Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ GET Individual VNF Package Content with conflict due to onboarding state ... Test title: GET Individual VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ POST Individual VNF Package Content - Method not implemented ... Test title: POST Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package content ... Pre-conditions: none - ... Reference: clause 9.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Upload VNF Package Content ... Test title: Upload VNF Package Content ... Test objective: The objective is to test the upload of a VNF Package Content in Zip format. ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is successfully uploaded and available in the NFVO @@ -116,7 +116,7 @@ Upload VNF Package Content with conflict due to onboarding state ... Test title: Upload VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the VNF Package Content fails due to a conflict when the VNF Package is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF Package for which the content is requested is different from CREATED. - ... Reference: clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH Individual VNF Package Content - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ DELETE Individual VNF Package Content - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is not deleted by the failed operation diff --git a/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot b/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot index 46ecedd4861eacc4117610a0b4c1550a61ea6dc2..82ccf7e73b0ca3ce87a9782873df1ea2c8555ee4 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot @@ -13,7 +13,7 @@ Upload VNF Package Content from URI ... Test title: Upload VNF Package Content from URI ... Test objective: The objective is to test the upload of a VNF Package Content from URI. ... Pre-conditions: One or more VNF Packages are in onboarding state CREATED in the NFVO. - ... Reference: clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Upload VNF Package Content from URI with conflict due to onboarding state ... Test title: Upload VNF Package Content from URI with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the VNF Package Content from URI fails due to a conflict when the VNF Package is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF Package for which the content is requested is different from CREATED. - ... Reference: clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Individual VNF Package Content from URI - Method not implemented ... Test title: GET Individual VNF Package Content from URI - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Individual VNF Package Content from URI - Method not implemented ... Test title: PUT Individual VNF Package Content from URI - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Individual VNF Package Content from URI - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Individual VNF Package Content from URI - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is not deleted by the failed operation diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 618ef76f76a8ed4afdd044a1c55fe21b08b96459..ff83f44c601054446ece0a46dc88e86295f28a65 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -14,6 +14,7 @@ Library JSONLibrary Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library Process Library MockServerLibrary +Library String *** Keywords *** @@ -59,8 +60,11 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo - + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_id} = Split String @{attr}[0] ,${SEPERATOR} + @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]" + GET VNF Packages with invalid attribute-based filter Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -848,7 +852,7 @@ Send Post request for individual VNF Package Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Put request for individual VNF Package Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -857,7 +861,7 @@ Send Put request for individual VNF Package Subscription Set Suite Variable ${origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Send Patch request for individual VNF Package Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} @@ -866,7 +870,7 @@ Send Patch request for individual VNF Package Subscription Set Suite Variable ${origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check Postcondition VNF Package Subscription is Unmodified (Implicit) Log Check postconidtion subscription not modified @@ -882,7 +886,7 @@ Check Postcondition VNF Package Subscription is not Created Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${newSubscriptionId} ${output}= Output response - Set Suite Variable @{response} ${output} + Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 404 Create Sessions @@ -907,7 +911,8 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Package Management according to filter - #TODO + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body Subscription Identifier matches the requested Subscription Log Trying to check response ID @@ -921,22 +926,21 @@ Check Notification Endpoint Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} - Check HTTP Response Body Matches the Subscription Log Check Response matches subscription ${body}= Get File jsons/subscriptions.json ${subscription}= evaluate json.loads('''${body}''') json Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} - - - Check HTTP Response Body Is Empty Should Be Empty ${response['body']} Log No json schema is provided. Validation OK - Check HTTP Response Header Contains [Arguments] ${CONTENT_TYPE} Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present \ No newline at end of file + Log Header is present + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} diff --git a/SOL005/VNFPackageManagement-API/VNFPackages.robot b/SOL005/VNFPackageManagement-API/VNFPackages.robot index bb78b5d5ee8c951ec13917741264007665b5ecd2..617e627de366d2c37c90ecb4f1d601d920e064ce 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackages.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackages.robot @@ -12,7 +12,7 @@ GET all VNF Packages ... Test title: GET all VNF Packages ... Test objective: The objective is to test the retrieval of all the available VNF packages information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET VNF Packages with attribute-based filter ... Test title: GET VNF Packages with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF packages using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ GET VNF Packages with invalid attribute-based filter ... Test title: GET VNF Packages with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ Get all VNF Packages with malformed authorization token ... Test title: Get all VNF Packages Information with malformed authorization token ... Test objective: The objective is to test that the retrieval of VNF Packages fails when using malformed authorization token ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -68,7 +68,7 @@ Get all VNF Packages without authorization token ... Test title: Get all VNF Packages without authorization token ... Test objective: The objective is to test that the retrieval of VNF Packages fails when omitting the authorization token ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -80,7 +80,7 @@ GET VNF Packages with "all_fields" attribute selector ... Test title: GET VNF Packages with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ GET VNF Packages with "exclude_default" attribute selector ... Test title: GET VNF Packages with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ GET VNF Packages with "fields" attribute selector ... Test title: GET VNF Packages with fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of fields attribute selector ... Post-Conditions: none @@ -122,7 +122,7 @@ GET VNF Packages with "exclude_fields" attribute selector ... Test title: GET VNF Packages with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -136,7 +136,7 @@ GET all VNF Packages with invalid resource endpoint ... Test title: GET VNF Packages with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid resource endpoint ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ Create new VNF Package Resource ... Test title: Create new VNF Package Resource ... Test objective: The objective is to test the creation of a new VNF Package Resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Resource is successfully created on the NFVO @@ -163,7 +163,7 @@ PUT all VNF Packages - Method not implemented ... Test title: PUT all VNF Packages - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -175,7 +175,7 @@ PATCH all VNF Packages - Method not implemented ... Test title: PATCH all VNF Packages - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -187,11 +187,36 @@ DELETE all VNF Packages - Method not implemented ... Test title: DELETE all VNF Packages - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: clause 9.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Packages are not deleted by the failed operation Send DELETE Request for all VNF Packages Check HTTP Response Status Code Is 405 Check Postcondition VNF Packages Exist - \ No newline at end of file + +GET all VNF Packages as Paged Response + [Documentation] Test ID: 5.3.5.1.15 + ... Test title: GET all VNF Packages as Paged Response + ... Test objective: The objective is to test the retrieval of all the available VNF packages information as paged response. + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all VNF Packages + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET VNF Packages - Bad Request Response too Big + [Documentation] Test ID: 5.3.5.1.16 + ... Test title: GET VNF Packages - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of VNF packages fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all VNF Packages + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/environment/subscriptions.txt b/SOL005/VNFPackageManagement-API/environment/subscriptions.txt index cddf01eefe53be9d8ba95fe114462d481e56e156..ca34ee831fbdd3dd3727821ab00ee81d82c00fc6 100644 --- a/SOL005/VNFPackageManagement-API/environment/subscriptions.txt +++ b/SOL005/VNFPackageManagement-API/environment/subscriptions.txt @@ -3,4 +3,5 @@ ${filter_ok} callbackUri=http://172.22.1.7:9091/vnfpkgm/subscriptions ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based ${callbackUri} http://172.22.1.7:9091/vnfpkgm/subscriptions ${total_polling_time} 2 min -${polling_interval} 10 sec \ No newline at end of file +${polling_interval} 10 sec +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt index e7e4eecb25a1a067e01debded892d11d73e24771..8f599ef60e0a6c0bb1da6116f2e035e686ffae1a 100644 --- a/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt +++ b/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt @@ -6,3 +6,5 @@ ${fields} softwareImages,additionalArtifacts ${response} httpresponse ${NEG_AUTHORIZATION} Bearer negativetoken ${BAD_AUTHORIZATION} Bear sometoken +${SEPERATOR} = +${VAR_SEPERATOR} & diff --git a/SOL005/VNFPackageManagement-API/schemas/ApiVersionInformation.schema.json b/SOL005/VNFPackageManagement-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..a79641197fe678896eb17d04beaac08068ea3285 --- /dev/null +++ b/SOL005/VNFPackageManagement-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,39 @@ +{ + "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" + } + } + } + } + } +} \ No newline at end of file diff --git a/indexes/Readme.md b/indexes/Readme.md new file mode 100644 index 0000000000000000000000000000000000000000..58e04f1a13069e963068eceef2405e7903b09aa7 --- /dev/null +++ b/indexes/Readme.md @@ -0,0 +1,5 @@ +# Test suites index files + +This folder contains index files in `csv` format that allows the generation +of Docx export of the test descriptions. Each files lists the clauses of the +expected Docx exports associated with folders and files in the present repository. diff --git a/indexes/sol_002_index.csv b/indexes/sol_002_index.csv new file mode 100644 index 0000000000000000000000000000000000000000..52042c494468d5cc6352be51bdad9745b6a01fb8 --- /dev/null +++ b/indexes/sol_002_index.csv @@ -0,0 +1,51 @@ +6, Ve-Vnfm Reference Point, SOL002 +6.3.1, VNF Configuration Interface , VNFConfiguration-API +6.3.1.1, Configuration Resource Endpoint , Configuration.robot +6.3.1.2,API Version Resource Endpoint, ApiVersion.robot +6.3.2, VNF Indicator Interface , VNFIndicator-API +6.3.2.1, VNF Indicators Resource Endpoint , VNFIndicators.robot +6.3.2.2, VNF Indicators related to a VNF Instance Resource Endpoint , VnfIndicatorsInVnfInstanceId.robot +6.3.2.3, Individual VNF Indicator Resource Endpoit,IndividualVNFindicator.robot +6.3.2.4, Subscriptions Resource Endpoint , Subscriptions.robot +6.3.2.5, Individual Subscription Resource Endpoint , IndividualSubscription.robot +6.3.2.6, Notification Endpoint , ../VNFIndicatorNotification-API/VnfIndicatorNotification.robot +6.3.2.7,API Version Resource Endpoint, ApiVersion.robot +6.3.3, VNF Performance Management Interface , VNFPerformanceManagement-API +6.3.3.1, PM Jobs Resource Endpoint , PMJobs.robot +6.3.3.2, Individual PM Job Resource Endpoint , IndividualPmJob.robot +6.3.3.3, Individual Performance Report Resource Endpoint , IndividualReport.robot +6.3.3.4, Thresholds Resource Endpoint , Thresholds.robot +6.3.3.5, Individual Threshold Resource Endpoint , IndividualThreshold.robot +6.3.3.6, Subscriptions Resource Endpoint , Subscriptions.robot +6.3.3.7, Individual Subscription Resource Endpoint , IndividualSubscription.robot +6.3.3.8, Notification Endpoint , ../VNFPerformanceManagementNotification-API/PerformanceManagementNotification.robot +6.3.3.9,API Version Resource Endpoint, ApiVersion.robot +6.3.4, VNF Fault Management interface , VNFFaultManagement-API +6.3.4.1, Alarms , Alarms.robot +6.3.4.2, Individual Alarm , IndividualAlarm.robot +6.3.4.3, Escalate the perceived severity , EscalatePerceivedSeverityTask.robot +6.3.4.4, Subscriptions , Subscriptions.robot +6.3.4.5, Individual Subscription , IndividualSubscription.robot +6.3.4.6, Notification Endpoint , NotificationEndpoint.robot +6.3.4.7,API Version Resource Endpoint, ApiVersion.robot +6.3.5, VNF Lifecycle Management interface , VNFLifecycleManagement-API +6.3.5.1, VNF Instances , VNFInstances.robot +6.3.5.2, Individual VNFInstance , IndividualVNFInstance.robot +6.3.5.3, Instantiate VNF Task , InstantiateVNFTask.robot +6.3.5.4, Scale VNF Task , ScaleVNFTask.robot +6.3.5.5, Scale a VNF to level Task , ScaleVNFToLevelTask.robot +6.3.5.6, Change VNF deployment flavour Task , ChangeVNFFlavourTask.robot +6.3.5.7, Terminate VNF Task , TerminateVNFTask.robot +6.3.5.8, Heal VNF Task , HealVNFTask.robot +6.3.5.9, Operate VNF Task , OperateVNFTask.robot +6.3.5.10, Change external VNF connectivity , ChangeExternalVNFConnectivityTask.robot +6.3.5.11, VNF LCM OP occurrences , VnfLcmOperationOccurences.robot +6.3.5.12, Individual VNF LCM OP occurrence , IndividualVnfLcmOperationOccurence.robot +6.3.5.13, Retry operation task , RetryOperationTask.robot +6.3.5.14, Rollback operation task , RollbackOperationTask.robot +6.3.5.15, Fail operation task , FailOperationTask.robot +6.3.5.16, Cancel operation task , CancelOperationTask.robot +6.3.5.17, Subscriptions , Subscriptions.robot +6.3.5.18, Individual Subscription , IndividualSubscription.robot +6.3.5.19, Notification Endpoint , NotificationEndpoint.robot +6.3.5.20,API Version Resource Endpoint, ApiVersion.robot diff --git a/indexes/sol_003_index.csv b/indexes/sol_003_index.csv new file mode 100644 index 0000000000000000000000000000000000000000..922ac9509836453f5f80a32a12fff6afd4c0c1f2 --- /dev/null +++ b/indexes/sol_003_index.csv @@ -0,0 +1,80 @@ +7,Or-Vnfm Reference Point, SOL003 +7.3.1,VNF Lifecycle Management Interface, VNFLifecycleManagement-API +7.3.1.1,VnfInstances, VNFInstances.robot +7.3.1.2,Individual VNFInstance, IndividualVNFInstance.robot +7.3.1.3,Instantiate a VNF, InstantiateVNFTask.robot +7.3.1.4,Scale a vnfInstance, ScaleVNFTask.robot +7.3.1.5,Scale a vnfInstance to level, ScaleVNFToLevelTask.robot +7.3.1.6,Change deployment flavour of a vnfInstance,ChangeVNFFlavourTask.robot +7.3.1.7,Terminate a vnfInstance,TerminateVNFTask.robot +7.3.1.8,Heal a vnfInstance, HealVNFTask.robot +7.3.1.9,Operate a vnfInstance, OperateVNFTask.robot +7.3.1.10,Change external VNF connectivity, ChangeExternalVNFConnectivityTask.robot +7.3.1.11,VNF LCM Operation occurrences, VnfLcmOperationOccurences.robot +7.3.1.12,Individual VNF LCM Operation occurrence, IndividualVnfLcmOperationOccurence.robot +7.3.1.13,Retry operation task, RetryOperationTask.robot +7.3.1.14,Rollback operation task, RollbackOperationTask.robot +7.3.1.15,Fail operation task, FailOperationTask.robot +7.3.1.16,Cancel operation task, CancelOperationTask.robot +7.3.1.17,Subscriptions, Subscriptions.robot +7.3.1.18,Individual Subscription, IndividualSubscription.robot +7.3.1.19,Cancel VNF LCM Operation, CancelOperationWorkflow.robot +7.3.1.20,Change external connectivity of VNF Workflow, ChangeExternalVNFConnectivityWorkflow.robot +7.3.1.21,Change VNF Flavour Workflow, ChangeVNFFlavourWorkflow.robot +7.3.1.22,Create VNF Instance Resource,CreateVNFWorkflow.robot +7.3.1.23,Delete VNF Instance Resource, DeleteVNFWorkflow.robot +7.3.1.24,Fail a VNF LCM Operation Workflow,FailOperationWorkflow.robot +7.3.1.25,Heal a VNF Instance,HealVNFWorkflow.robot +7.3.1.26,VNF Instantiation,InstantiateVNFTaskWorkflow.robot +7.3.1.27,Modify info of a VNF Instance, ModifyVNFInformationWorkflow.robot +7.3.1.28,Operate a VNF Instance,OperateVNFWorkflow.robot +7.3.1.29,Retry VNF LCM Operation, RetryOperationWorkflow.robot +7.3.1.30,Rollback VNF LCM Operation, RollBackOperationWorkflow.robot +7.3.1.31,VNF Instance Scale To Level, ScaleVNFToLevelWorkflow.robot +7.3.1.32,VNF Instance Scale Out, ScaleVNFWorkflow.robot +7.3.1.33,Terminate a VNF Instance, TerminateVNFWorkflow.robot +7.3.1.34,Notification Endpoint, NotificationEndpoint.robot +7.3.1.35,API Version Resource Endpoint, ApiVersion.robot +7.3.2,VNF Lifecycle Operation Granting Interface, VNFLifecycleOperationGranting-API +7.3.2.1,Grants, Grants.robot +7.3.2.2,Individual Grant, IndividualGrant.robot +7.3.2.3,API Version Resource Endpoint, ApiVersion.robot +7.3.3,VNF Package Management Interface, VNFPackageManagement-API +7.3.3.1,VNF Packages Resource Endpoint, VNFPackages.robot +7.3.3.2,Individual VNF Package Resource Endpoint, IndividualVNFPackage.robot +7.3.3.3,VNF Package Content Resource Endpoint, VNFPackageContent.robot +7.3.3.4,VNFD In Individual VNF Package Resource Endpoint, VNFDInIndividualVNFPackage.robot +7.3.3.5,Individual VNF Package Artifact Resource Endpoint, VNFPackageArtifacts.robot +7.3.3.6,Subscriptions Resource Endpoint, Subscriptions.robot +7.3.3.7,Individual Subscription Resource Endpoint, IndividualSubscription.robot +7.3.3.8,Notification Endpoint, PackageManagementNotification.robot +7.3.3.9,API Version Resource Endpoint, ApiVersion.robot +7.3.4,VNF Performance Management Interface, VNFPerformanceManagement-API +7.3.4.1,PM Jobs Resource Endpoint, PMJobs.robot +7.3.4.2,Individual Pm Job Resource Endpoint, IndividualPmJob.robot +7.3.4.3,Individual Performance Report Resource Endpoint, IndividualReport.robot +7.3.4.4,Thresholds Resource Endpoint, Thresholds.robot +7.3.4.5,Individual Threshold Resource Endpoint, IndividualThreshold.robot +7.3.4.6,Subscriptions, Subscriptions.robot +7.3.4.7,Individual Subscription Resource Endpoint, IndividualSubscription.robot +7.3.4.8,Notification Endpoint, PerformanceManagementNotification.robot +7.3.4.9,API Version Resource Endpoint, ApiVersion.robot +7.3.5,VNF Fault Management interface, VNFFaultManagement-API +7.3.5.1,Alarms, Alarms.robot +7.3.5.2,Individual Alarm, IndividualAlarm.robot +7.3.5.3,Subscriptions, Subscriptions.robot +7.3.5.4,Individual Subscription, IndividualSubscription.robot +7.3.5.5,Notification Endpoint, ../VNFFaultManagementNotification-API/NotificationEndpoint.robot +7.3.5.6,API Version Resource Endpoint, ApiVersion.robot +7.3.6,VNF Indicator Interface, VNFIndicator-API +7.3.6.1,VNF Indicators Resource Endpoint, VNFIndicators.robot +7.3.6.2,VNF Indicators Related to a VNF Instance Resource Endpoint, VnfIndicatorsInVnfInstanceId.robot +7.3.6.3,Individual VNF Indicator Resource Endpoint, IndividualVNFindicator.robot +7.3.6.4,Subscriptions Resource Endpoint, Subscriptions.robot +7.3.6.5,Individual Subscription Resource Endpoint, IndividualSubscription.robot +7.3.6.6,Notification Endpoint, VnfIndicatorNotification.robot +7.3.6.7,API Version Resource Endpoint, ApiVersion.robot +7.3.7,Virtualised Resources Quota Available Notification interface, VirtualisedResourcesQuotaAvailableNotification-API +7.3.7.1,Subscriptions, Subscriptions.robot +7.3.7.2,Individual Subscription, IndividualSubscription.robot +7.3.7.3,API Version Resource Endpoint, ApiVersion.robot diff --git a/indexes/sol_005_index.csv b/indexes/sol_005_index.csv new file mode 100644 index 0000000000000000000000000000000000000000..cc95f0ea74bfb301c3364f1e9d756741c5843646 --- /dev/null +++ b/indexes/sol_005_index.csv @@ -0,0 +1,66 @@ +5,Os-Ma-Nfvo Reference Point, SOL005 +5.3.1,NSD Management interface, NSDManagement-API +5.3.1.1,Network Service Descriptors Resource Endpoint, NSDescriptors.robot +5.3.1.2,Individual NS Descriptor Resource Endpoint , IndividualNSDescriptor.robot +5.3.1.3,NSD Content Resource Endpoint, NSDContent.robot +5.3.1.4,PNF Descriptors Resource Endpoint, PNFDescriptors.robot +5.3.1.5,Individual PNF Descriptor Resource Endpoint, IndividualPnfDescriptor.robot +5.3.1.6,PNFD Content Resource Endpoint, PNFDContent.robot +5.3.1.7,Subscriptions Resource Endpoint, Subscriptions.robot +5.3.1.8,Individual Subscription Resource Endpoint, IndividualSubscription.robot +5.3.1.9,Notifications Endpoint, NSDManagementNotification.robot +5.3.1.10,API Version Resource Endpoint, ApiVersion.robot +5.3.2,NS Lifecycle Management interface, NSLifecycleManagement-API +5.3.2.1,NsInstances, NSInstances.robot +5.3.2.2,Individual NSInstance, IndividualNSInstance.robot +5.3.2.3,Instantiate NS Task, InstantiateNSTask.robot +5.3.2.4,Scale a nsInstance, ScaleNSTask.robot +5.3.2.5,Update a NSInstance, UpdateNSTask.robot +5.3.2.6,Heal a NSInstance, HealNSTask.robot +5.3.2.7,Terminate a NSInstance, TerminateNSTask.robot +5.3.2.8,NS LCM occurrences, NSLCMOccurences.robot +5.3.2.9,Individual NS LCM Occurences, IndividualNSLCMOccurences.robot +5.3.2.10, Retry operation task, RetryOperationTask.robot +5.3.2.11, Rollback operation task, RollbackOperationTask.robot +5.3.2.12,Continue operation task, ContinueOperationTask.robot +5.3.2.13,Fail operation task, FailOperationTask.robot +5.3.2.14,Cancel operation task, CancelOperationTask.robot +5.3.2.15,Subscriptions, Subscriptions.robot +5.3.2.16,Individual Subscription, IndividualSubscription.robot +5.3.2.17,Notification Endpoint, NotificationEndpoint.robot +5.3.2.18,NS Instance Creation Workflow, CreateNSInstanceWorkflow.robot +5.3.2.19, NS Instance Deletion, DeleteNSInstanceWorkflow.robot +5.3.2.20, Heal Flow of NS lifecycle management operations, HealNSTaskWorkflow.robot +5.3.2.21, Instantiate Flow of NS lifecycle management operations, InstanciateNSTaskWorkflow.robot +5.3.2.22, Scale Flow of NS lifecycle management operations, ScaleNSTaskWorkflow.robot +5.3.2.23, Terminate Flow of NS lifecycle management operations, TerminateNSTaskWorkflow.robot +5.3.2.24, Update Flow of NS lifecycle management operations, UpdateNSTaskWorkflow.robot +5.3.2.25,API Version Resource Endpoint, ApiVersion.robot +5.3.3,NS Fault Management interface, NSFaultManagement-API +5.3.3.1,Alarms, Alarms.robot +5.3.3.2,Individual Alarm, IndividualAlarm.robot +5.3.3.3,Subscriptions, Subscriptions.robot +5.3.3.4,Individual Subscription, IndividualSubscription.robot +5.3.3.5,Notification Endpoint, NotificationEndpoint.robot +5.3.3.6,API Version Resource Endpoint, ApiVersion.robot +5.3.4,NS Performance Management interface, NSPerformanceManagement-API +5.3.4.1,PM Jobs Resource Endpoint, PMJobs.robot +5.3.4.2,Individual PM Job Resource Endpoint, IndividualPmJob.robot +5.3.4.3,Individual Performance Report Resource Endpoint, IndividualReport.robot +5.3.4.4,Thresholds Resource Endpoint, Thresholds.robot +5.3.4.5,Individual Threshold Resource Endpoint, IndividualThreshold.robot +5.3.4.6,Subscriptions Resource Endpoint, Subscriptions.robot +5.3.4.7,Individual Subscription Resource Endpoint, IndividualSubscription.robot +5.3.4.8,Notifications Endpoint, Notifications.robot +5.3.4.9,API Version Resource Endpoint, ApiVersion.robot +5.3.5,VNF Package Management interface, VNFPackageManagement-API +5.3.5.1,VNF Packages Resource Endpoint, VNFPackages.robot +5.3.5.2,Individual VNF Package Resource Endpoint, IndividualVNFPackage.robot +5.3.5.3,VNFD In Individual VNF Package Resource Endpoint, VNFDInIndividualVNFPackage.robot +5.3.5.4,VNF Package Content Resource Endpoint, VNFPackageContent.robot +5.3.5.5,Upload VNF Package From URI Resource Endpoint, VNFPackageContentViaURI.robot +5.3.5.6,Individual VNF Package Artifact Resource Endpoint, VNFPackageArtifacts.robot +5.3.5.7,Subscriptions Resource Endpoint, Subscriptions.robot +5.3.5.8,Individual Subscription Resource Endpoint, IndividualSubscription.robot +5.3.5.9,Notifications Endpoint, Notifications.robot +5.3.5.10,API Version Resource Endpoint, ApiVersion.robot diff --git a/requirements.txt b/requirements.txt index 6555fbf2f7ace864f9f76da63a620f27fba4733c..7ec1190495ac1486e8197859602d284336cbbbf7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ ## To install the libraries, use: # pip -r requirements.txt + robotframework==3.1 RESTinstance==1.0.0rc4 robotframework-dependencylibrary==1.0.0.post1 diff --git a/scripts/validate.sh b/scripts/validate.sh new file mode 100644 index 0000000000000000000000000000000000000000..6d95c3574ee4ae94af92d114506dc56a7e3ecee7 --- /dev/null +++ b/scripts/validate.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# +# Validate syntax and keywords existance in each Robot file + +res=0 +for i in */*/*.robot ; do + [[ "$i" != *"Keywords.robot"* && "$i" != *"Keyword.robot"* ]] && \ + (echo "++++ Dryrun $i" && \ + robot --dryrun --output NONE --report NONE --log NONE $i || \ + (echo "++++ Issues in file $i" && res=1)); +done + +exit $res